{
  "info": {
    "name": "DALSEEN Platform — Backend API (v1)",
    "description": "Complete REST surface for the DALSEEN multi-tenant retail+F&B+pay+HR platform.\n\n**Conventions**\n- Tenant base: `{{baseUrl}}` should be set to e.g. `https://api.dalseen.test/api/v1`.\n- All tenant routes require `Authorization: Bearer {{token}}`.\n- Platform routes (folder 19, parts of 02) use `Authorization: Bearer {{platformToken}}` against `/api/v1/platform/...`.\n- Public routes are explicitly marked (signup, QR menu, QR order, marketplace/aggregator/acquirer webhooks).\n- Writes that create money/stock effects require `Idempotency-Key` (auto-generated as `{{$guid}}`).\n- Branch-scoped writes accept `X-Branch-Id`; tenant context resolved from the bearer token.\n- All names use `{ en, ar }` shape; locale picked via `Accept-Language: {{locale}}`.\n\n**Folders mirror `docs/handoff/BACKEND-MAPPING.md` sections 1–20.**\nEach request shows a representative body and a sample 2xx response in the Examples tab.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.dalseen.test/api/v1"
    },
    {
      "key": "token",
      "value": "PASTE_TENANT_BEARER"
    },
    {
      "key": "platformToken",
      "value": "PASTE_PLATFORM_BEARER"
    },
    {
      "key": "tenantId",
      "value": "12"
    },
    {
      "key": "branchId",
      "value": "1"
    },
    {
      "key": "locale",
      "value": "ar"
    },
    {
      "key": "managerPin",
      "value": "0000"
    },
    {
      "key": "partnerSignature",
      "value": "computed_hmac_sha256_base64"
    }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{token}}",
        "type": "string"
      }
    ]
  },
  "item": [
    {
      "name": "01 — Auth & Identity",
      "description": "Tenant + platform identity. All tenant routes require `Authorization: Bearer {{token}}`. Platform routes use `{{platformToken}}`.",
      "item": [
        {
          "name": "Login (tenant)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/login",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "login"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"owner@acme.sa\",\n  \"password\": \"secret123\",\n  \"company_slug\": \"acme\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"token\": \"1|abc...\",\n    \"user\": {\n      \"id\": 1,\n      \"name\": \"Faisal\",\n      \"email\": \"owner@acme.sa\",\n      \"preferred_locale\": \"ar\"\n    },\n    \"company\": {\n      \"id\": 12,\n      \"slug\": \"acme\",\n      \"status\": \"active\"\n    },\n    \"branches\": [\n      {\n        \"id\": 1,\n        \"name\": \"Riyadh — Olaya\"\n      }\n    ],\n    \"mfa_required\": false\n  }\n}"
            }
          ]
        },
        {
          "name": "MFA verify",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/mfa",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "mfa"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"482910\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"token\": \"1|abc...\",\n    \"user\": {\n      \"id\": 1\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Logout",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/auth/logout",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "logout"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "204 No Content",
              "originalRequest": {},
              "status": "No Content",
              "code": 204,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "null"
            }
          ]
        },
        {
          "name": "Me",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"name\": \"Faisal\",\n    \"email\": \"owner@acme.sa\",\n    \"roles\": [\n      \"owner\"\n    ],\n    \"preferred_locale\": \"ar\",\n    \"branches\": [\n      {\n        \"id\": 1,\n        \"name\": \"Olaya\"\n      },\n      {\n        \"id\": 2,\n        \"name\": \"Khobar\"\n      }\n    ],\n    \"modules\": [\n      \"retail\",\n      \"dine\",\n      \"pay\",\n      \"accounting\",\n      \"hr\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Update profile",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Faisal A.\",\n  \"phone\": \"+9665XXXXXXX\",\n  \"preferred_locale\": \"ar\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"name\": \"Faisal A.\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Change password",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me/password",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "password"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"current_password\": \"secret123\",\n  \"password\": \"newSecret123\",\n  \"password_confirmation\": \"newSecret123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "204 No Content",
              "originalRequest": {},
              "status": "No Content",
              "code": 204,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "null"
            }
          ]
        },
        {
          "name": "Enable MFA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me/mfa",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "mfa"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"method\": \"totp\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"secret\": \"JBSWY3DPEHPK3PXP\",\n    \"qr_url\": \"otpauth://...\"\n  }\n}"
            }
          ]
        },
        {
          "name": "My branches",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me/branches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "branches"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Olaya\",\n      \"code\": \"RUH-01\"\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Khobar\",\n      \"code\": \"KHB-01\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "My modules",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me/modules",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "modules"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"module\": \"retail\",\n      \"is_active\": true\n    },\n    {\n      \"module\": \"dine\",\n      \"is_active\": true\n    },\n    {\n      \"module\": \"pay\",\n      \"is_active\": true\n    },\n    {\n      \"module\": \"hr\",\n      \"is_active\": false\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 4\n  }\n}"
            }
          ]
        },
        {
          "name": "Setup progress",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me/setup-progress",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "setup-progress"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"steps\": [\n      {\n        \"key\": \"kyc\",\n        \"status\": \"complete\"\n      },\n      {\n        \"key\": \"company_profile\",\n        \"status\": \"complete\"\n      },\n      {\n        \"key\": \"first_branch\",\n        \"status\": \"in_progress\"\n      },\n      {\n        \"key\": \"coa_seed\",\n        \"status\": \"pending\"\n      }\n    ],\n    \"completion\": 0.5\n  }\n}"
            }
          ]
        },
        {
          "name": "Platform: login",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/auth/login",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "auth",
                "login"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"ops@dalseen.sa\",\n  \"password\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"token\": \"p|...\",\n    \"user\": {\n      \"id\": 1,\n      \"scopes\": [\n        \"tenants.suspend\"\n      ]\n    }\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "02 — Tenancy & Onboarding",
      "description": "Lifecycle: provisioned → setup → ready → trial/active → past_due → suspended → frozen → terminated",
      "item": [
        {
          "name": "Public signup",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/signup",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "signup"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"company_name\": \"Acme Trading\",\n  \"legal_name_ar\": \"شركة أكمي\",\n  \"cr_number\": \"1010123456\",\n  \"vat_number\": \"300123456789003\",\n  \"contact_name\": \"Faisal\",\n  \"contact_email\": \"owner@acme.sa\",\n  \"contact_phone\": \"+9665XXXXXXX\",\n  \"requested_modules\": [\n    \"retail\",\n    \"pay\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 99,\n    \"status\": \"submitted\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Platform: signups queue",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/signups?status=submitted",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "signups"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 99,\n      \"company_name\": \"Acme\",\n      \"status\": \"submitted\",\n      \"submitted_at\": \"2026-04-26T10:00:00Z\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Platform: signup workbench",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/signups/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "signups",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 99,\n    \"status\": \"kyc_review\",\n    \"kyc\": {\n      \"cr_number\": \"1010123456\",\n      \"cr_doc_url\": \"...\",\n      \"vat_doc_url\": \"...\"\n    },\n    \"requested_modules\": [\n      \"retail\",\n      \"pay\"\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Platform: KYC step",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/signups/{id}/{step}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "signups",
                "{id}",
                "{step}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "step",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"decision\": \"approved\",\n  \"note\": \"Documents verified\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Path step ∈ {kyc_review, screening, contract, mdr_assign, approve}."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 99,\n    \"status\": \"approved\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Platform: provision tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants/provision",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants",
                "provision"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"signup_id\": 99,\n  \"plan_code\": \"growth_v1\",\n  \"modules\": [\n    \"retail\",\n    \"pay\"\n  ],\n  \"seed_coa_template\": \"ksa_retail_v3\",\n  \"first_branch\": {\n    \"name\": \"Olaya\",\n    \"code\": \"RUH-01\",\n    \"city\": \"Riyadh\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"tenant\": {\n      \"id\": 12,\n      \"slug\": \"acme\",\n      \"status\": \"provisioned\"\n    },\n    \"owner_invite_url\": \"https://app.dalseen.sa/invite/xyz\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Tenant: KYC submit",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/setup/kyc",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "setup",
                "kyc"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cr_doc\": \"<base64>\",\n  \"vat_doc\": \"<base64>\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"status\": \"submitted\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Update company profile",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/companies/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "companies",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Acme Trading Co.\",\n  \"default_locale\": \"ar\",\n  \"default_currency\": \"SAR\",\n  \"fiscal_year_start\": \"01-01\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"name\": \"Acme Trading Co.\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Create first branch",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/branches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "branches"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Olaya\",\n  \"code\": \"RUH-01\",\n  \"city\": \"Riyadh\",\n  \"timezone\": \"Asia/Riyadh\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"name\": \"Olaya\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Seed COA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/accounting/coa/seed",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "accounting",
                "coa",
                "seed"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"template\": \"ksa_retail_v3\",\n  \"mode\": \"merge\",\n  \"seed_vat_codes\": true,\n  \"seed_default_dimensions\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"accounts_created\": 12,\n    \"accounts_skipped\": 0,\n    \"vat_codes_created\": 5,\n    \"dimensions_created\": 4\n  }\n}"
            }
          ]
        },
        {
          "name": "Opening balances",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/accounting/opening-balances",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "accounting",
                "opening-balances"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"as_of\": \"2026-01-01\",\n  \"lines\": [\n    {\n      \"account_code\": \"1100\",\n      \"debit\": 100000,\n      \"credit\": 0,\n      \"memo\": \"Bank — SNB\"\n    },\n    {\n      \"account_code\": \"3000\",\n      \"debit\": 0,\n      \"credit\": 100000,\n      \"memo\": \"Owner equity\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"journal_entry_id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Invite users",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/users/invite",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "users",
                "invite"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"manager@acme.sa\",\n  \"roles\": [\n    \"manager\"\n  ],\n  \"branches\": [\n    1,\n    2\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 7,\n    \"status\": \"invited\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "03 — Catalog",
      "description": "",
      "item": [
        {
          "name": "List categories",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/categories?parent_id=null",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "categories"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Beverages\",\n      \"parent_id\": null\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create category",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/categories",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "categories"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": {\n    \"en\": \"Beverages\",\n    \"ar\": \"مشروبات\"\n  },\n  \"parent_id\": null\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 5\n  }\n}"
            }
          ]
        },
        {
          "name": "Update category",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/categories/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "categories",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": {\n    \"en\": \"Hot Beverages\",\n    \"ar\": \"مشروبات ساخنة\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 5\n  }\n}"
            }
          ]
        },
        {
          "name": "Delete category",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/categories/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "categories",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            }
          },
          "response": [
            {
              "name": "204 No Content",
              "originalRequest": {},
              "status": "No Content",
              "code": 204,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "null"
            }
          ]
        },
        {
          "name": "List brands",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/brands",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "brands"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Almarai\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create brand",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/brands",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "brands"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Almarai\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "List attributes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/attributes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "attributes"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"code\": \"size\",\n      \"values\": [\n        \"S\",\n        \"M\",\n        \"L\"\n      ]\n    },\n    {\n      \"id\": 2,\n      \"code\": \"color\",\n      \"values\": [\n        \"red\",\n        \"blue\"\n      ]\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Create attribute",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/attributes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "attributes"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"size\",\n  \"name\": {\n    \"en\": \"Size\",\n    \"ar\": \"الحجم\"\n  },\n  \"values\": [\n    \"S\",\n    \"M\",\n    \"L\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Search products",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/search?q=latte&category_id=5&page=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "search"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 101,\n      \"sku\": \"LATTE-12\",\n      \"name\": {\n        \"en\": \"Latte 12oz\",\n        \"ar\": \"لاتيه 12 أونصة\"\n      },\n      \"price\": 18,\n      \"cost_method\": \"weighted_avg\",\n      \"track_stock\": false\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create product",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/products",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sku\": \"LATTE-12\",\n  \"name\": {\n    \"en\": \"Latte 12oz\",\n    \"ar\": \"لاتيه 12 أونصة\"\n  },\n  \"category_id\": 5,\n  \"brand_id\": 1,\n  \"base_price\": 18,\n  \"vat_code\": \"STD\",\n  \"track_stock\": false,\n  \"costing_method\": \"weighted_avg\",\n  \"barcodes\": [\n    \"6281234567890\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 101\n  }\n}"
            }
          ]
        },
        {
          "name": "Update product",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/products/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"base_price\": 20\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 101\n  }\n}"
            }
          ]
        },
        {
          "name": "Generate variant matrix",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/products/{id}/variants/generate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products",
                "{id}",
                "variants",
                "generate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"axes\": [\n    {\n      \"attribute_id\": 1,\n      \"values\": [\n        \"S\",\n        \"M\",\n        \"L\"\n      ]\n    },\n    {\n      \"attribute_id\": 2,\n      \"values\": [\n        \"red\",\n        \"blue\"\n      ]\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"variants_created\": 6\n  }\n}"
            }
          ]
        },
        {
          "name": "List price lists",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pricing/price-lists",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pricing",
                "price-lists"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Retail Default\",\n      \"priority\": 100\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Loyalty Tier 2\",\n      \"priority\": 50,\n      \"applies_to\": \"loyalty:tier_2\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Create price list",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pricing/price-lists",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pricing",
                "price-lists"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Ramadan 2026\",\n  \"priority\": 25,\n  \"starts_at\": \"2026-02-15\",\n  \"ends_at\": \"2026-03-15\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 7\n  }\n}"
            }
          ]
        },
        {
          "name": "Resolve price",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pricing/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pricing",
                "resolve"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"product_id\": 101,\n  \"customer_id\": 55,\n  \"branch_id\": 1,\n  \"channel\": \"pos\",\n  \"quantity\": 2\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"unit_price\": 18,\n    \"applied_list_id\": 1,\n    \"vat_amount\": 5.4\n  }\n}"
            }
          ]
        },
        {
          "name": "Bulk update categories",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/categories",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "categories"
              ],
              "variable": []
            },
            "description": "Bulk edit multiple categories in one call. Each entry is `{ id, …patch }`. Useful for re-parenting / activating / archiving batches from the Catalog tree UI.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"updates\": [\n    {\n      \"id\": 4,\n      \"parent_id\": 2,\n      \"active\": true\n    },\n    {\n      \"id\": 7,\n      \"name\": {\n        \"en\": \"Beverages — cold\",\n        \"ar\": \"مشروبات باردة\"\n      }\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"updated_count\": 2,\n    \"ids\": [\n      4,\n      7\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Bulk delete / archive categories",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/catalog/categories?ids=4,7,11&mode=archive",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "catalog",
                "categories"
              ],
              "query": [
                {
                  "key": "ids",
                  "value": "4,7,11"
                },
                {
                  "key": "mode",
                  "value": "archive"
                }
              ],
              "variable": []
            },
            "description": "Bulk archive (default) or hard-delete categories. `mode=archive` keeps history (recommended); `mode=delete` is rejected if any category has products attached."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"archived\": [\n      4,\n      7\n    ],\n    \"deleted\": [],\n    \"rejected\": [\n      {\n        \"id\": 11,\n        \"reason\": \"has_products\"\n      }\n    ]\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "04 — Inventory",
      "description": "Single source of truth: writes to `stock_levels` go through `Inventory\\StockLedger\\RecordMovement`.",
      "item": [
        {
          "name": "Stock levels",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock-levels?branch_id=1&product_id=101",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock-levels"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"product_id\": 101,\n      \"branch_id\": 1,\n      \"on_hand\": 24,\n      \"reserved\": 2,\n      \"available\": 22\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Stock movements",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock-movements?product_id=101&from=2026-04-01&to=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock-movements"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"kind\": \"grn_in\",\n      \"qty\": 50,\n      \"unit_cost\": 12,\n      \"occurred_at\": \"2026-04-01T08:00:00Z\"\n    },\n    {\n      \"id\": 2,\n      \"kind\": \"sale_out\",\n      \"qty\": -1,\n      \"unit_cost\": 12,\n      \"occurred_at\": \"2026-04-02T10:00:00Z\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Goods Receipt (GRN) — strict always",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/grn",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "grn"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supplier_id\": 12,\n  \"po_id\": 5,\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 50,\n      \"unit_cost\": 12,\n      \"vat_code\": \"STD\",\n      \"expiry\": \"2026-12-31\",\n      \"lot\": \"L-26-04\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 8001,\n    \"journal_entry_id\": 1240,\n    \"lines\": [\n      {\n        \"id\": 1,\n        \"product_id\": 101,\n        \"qty\": 50,\n        \"unit_cost\": 12\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "List POs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/purchase-orders?status=open",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "purchase-orders"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 5,\n      \"supplier_id\": 12,\n      \"status\": \"open\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create PO",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/purchase-orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "purchase-orders"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supplier_id\": 12,\n  \"branch_id\": 1,\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 50,\n      \"unit_cost\": 12\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 5\n  }\n}"
            }
          ]
        },
        {
          "name": "Update PO",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/purchase-orders/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "purchase-orders",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"approved\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 5\n  }\n}"
            }
          ]
        },
        {
          "name": "Stock transfer",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/transfers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "transfers"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"from_branch_id\": 1,\n  \"to_branch_id\": 2,\n  \"expected_at\": \"2026-04-28\",\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 10\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 301,\n    \"status\": \"in_transit\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Stock count (full)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock-counts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock-counts"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"counted_at\": \"2026-04-26T20:00:00Z\",\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"counted_qty\": 22,\n      \"system_qty\": 24\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 90,\n    \"variance_value\": -24\n  }\n}"
            }
          ]
        },
        {
          "name": "Spot count",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/spot-counts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "spot-counts"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"counted_qty\": 22\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12\n  }\n}"
            }
          ]
        },
        {
          "name": "Quick-receive (frictionless only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/quick-receives",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "quick-receives"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supplier_id\": 12,\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 5,\n      \"unit_cost\": 12\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "402 if branch is not on frictionless mode."
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 44,\n    \"frictionless_event_id\": 7001\n  }\n}"
            }
          ]
        },
        {
          "name": "Synthetic GRN",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/synthetic-grns",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "synthetic-grns"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"product_id\": 101,\n  \"qty\": 12,\n  \"basis\": \"estimated_from_sales\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 22\n  }\n}"
            }
          ]
        },
        {
          "name": "Stock adjustment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/stock-adjustments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "stock-adjustments"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"product_id\": 101,\n  \"qty_delta\": -2,\n  \"reason_code\": \"shrinkage\",\n  \"note\": \"Damaged\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 17,\n    \"journal_entry_id\": 1245\n  }\n}"
            }
          ]
        },
        {
          "name": "Wastage",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/wastage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wastage"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason_code\": \"expired\",\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 3,\n      \"cost\": 12,\n      \"photo_url\": \"...\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 88,\n    \"journal_entry_id\": 1250\n  }\n}"
            }
          ]
        },
        {
          "name": "Frictionless events",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/frictionless-events?status=open",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "frictionless-events"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 7001,\n      \"kind\": \"quick_receive\",\n      \"branch_id\": 1,\n      \"status\": \"open\",\n      \"created_at\": \"...\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Reconcile event",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reconciliation/{id}/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reconciliation",
                "{id}",
                "resolve"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"resolution\": \"accepted\",\n  \"actual_qty\": 5,\n  \"actual_cost\": 12\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 7001,\n    \"status\": \"resolved\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Recipe drift list",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/recipe-drift",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "recipe-drift"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"recipe_id\": 14,\n      \"observed_qty\": 0.32,\n      \"baseline_qty\": 0.3,\n      \"observed_at\": \"...\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Recipe drift submit",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/recipe-drift",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "recipe-drift"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"recipe_id\": 14,\n  \"observed_qty\": 0.32,\n  \"sample_size\": 20\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Cost layers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/cost-layers?product_id=101",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "cost-layers"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"qty_remaining\": 22,\n      \"unit_cost\": 12,\n      \"received_at\": \"2026-04-01\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "05 — Sales / POS",
      "description": "",
      "item": [
        {
          "name": "Capture sale",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sales",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sales"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_id\": null,\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 1\n    },\n    {\n      \"product_id\": 102,\n      \"qty\": 2,\n      \"discount\": {\n        \"type\": \"pct\",\n        \"value\": 10\n      }\n    }\n  ],\n  \"payments\": [\n    {\n      \"tender\": \"mada\",\n      \"amount\": 56,\n      \"ref\": \"txn_xx\"\n    }\n  ],\n  \"promo_codes\": [\n    \"RAMADAN10\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 50001,\n    \"total\": 56,\n    \"vat\": 7.3,\n    \"zatca_uuid\": \"...\",\n    \"zatca_qr\": \"...\",\n    \"lines\": [\n      {\n        \"id\": 1,\n        \"total\": 18\n      },\n      {\n        \"id\": 2,\n        \"total\": 38\n      }\n    ],\n    \"receipt_url\": \"https://.../sales/50001/receipt\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Hold cart",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/carts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "carts"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_id\": null,\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 1\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 333\n  }\n}"
            }
          ]
        },
        {
          "name": "Resume cart",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/carts/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "carts",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 2\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 333\n  }\n}"
            }
          ]
        },
        {
          "name": "Void sale",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sales/{id}/void",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sales",
                "{id}",
                "void"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"wrong_item\",\n  \"manager_pin\": \"{{managerPin}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 50001,\n    \"status\": \"voided\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Receipt",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sales/{id}/receipt?format=html",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sales",
                "{id}",
                "receipt"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"html\": \"<html>...</html>\",\n    \"pdf_url\": \"...\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Share receipt",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sales/{id}/share",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sales",
                "{id}",
                "share"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"channel\": \"whatsapp\",\n  \"to\": \"+9665XXXXXXX\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "202 Accepted",
              "originalRequest": {},
              "status": "Accepted",
              "code": 202,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"dispatch_id\": 99\n  }\n}"
            }
          ]
        },
        {
          "name": "List tenders",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/tenders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tenders"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"code\": \"cash\",\n      \"name\": {\n        \"en\": \"Cash\",\n        \"ar\": \"نقدي\"\n      }\n    },\n    {\n      \"code\": \"mada\",\n      \"name\": {\n        \"en\": \"Mada\",\n        \"ar\": \"مدى\"\n      }\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Open shift",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/shifts/open",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "shifts",
                "open"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"register_id\": 1,\n  \"opening_float\": 500\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 88,\n    \"opened_at\": \"...\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Close shift",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/shifts/close",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "shifts",
                "close"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"counted\": {\n    \"cash\": 1480,\n    \"mada\": 12340.5\n  },\n  \"manager_pin\": \"{{managerPin}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 88,\n    \"variance\": {\n      \"cash\": -2.5\n    },\n    \"journal_entry_id\": 1300\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "06 — Returns / RMA",
      "description": "State machine: requested → approved → received → inspected → refunded | replaced | rejected.",
      "item": [
        {
          "name": "Open RMA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/rma",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rma"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sale_id\": 50001,\n  \"lines\": [\n    {\n      \"sale_line_id\": 1,\n      \"qty\": 1,\n      \"reason_code\": \"defect\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"requested\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Approve RMA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/rma/{id}/approve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rma",
                "{id}",
                "approve"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"note\": \"Looks legit\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"approved\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Receive RMA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/rma/{id}/receive",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rma",
                "{id}",
                "receive"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"received_at\": \"2026-04-26T12:00:00Z\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"received\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Inspect RMA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/rma/{id}/inspect",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rma",
                "{id}",
                "inspect"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lines\": [\n    {\n      \"rma_line_id\": 1,\n      \"condition\": \"saleable\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"inspected\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Refund RMA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/rma/{id}/refund",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rma",
                "{id}",
                "refund"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"method\": \"original_tender\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"refunded\",\n    \"refund_id\": 9\n  }\n}"
            }
          ]
        },
        {
          "name": "Reject RMA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/rma/{id}/reject",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rma",
                "{id}",
                "reject"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason_code\": \"out_of_window\",\n  \"note\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"rejected\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "07 — Customers, Loyalty, Gift Cards",
      "description": "",
      "item": [
        {
          "name": "List customers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/customers?q=ali",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "customers"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 55,\n      \"name\": \"Ali Q.\",\n      \"phone\": \"+9665XX\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create customer",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/customers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "customers"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Ali Q.\",\n  \"phone\": \"+9665XX\",\n  \"email\": \"ali@x.sa\",\n  \"tax_type\": \"individual\",\n  \"credit_limit\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 55\n  }\n}"
            }
          ]
        },
        {
          "name": "Update customer",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/customers/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "customers",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"credit_limit\": 5000,\n  \"payment_terms_days\": 30\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 55\n  }\n}"
            }
          ]
        },
        {
          "name": "Loyalty redeem",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/loyalty/redeem",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "loyalty",
                "redeem"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_id\": 55,\n  \"points\": 200,\n  \"sale_id\": 50001\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"redeemed_value\": 20\n  }\n}"
            }
          ]
        },
        {
          "name": "Loyalty breakage (admin/job)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/loyalty/breakage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "loyalty",
                "breakage"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"dry_run\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"posted_amount\": 1200,\n    \"accounts_affected\": 88\n  }\n}"
            }
          ]
        },
        {
          "name": "Issue gift card",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/gift-cards",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "gift-cards"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 200,\n  \"recipient_email\": \"gift@x.sa\",\n  \"expires_at\": \"2027-04-26\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"code\": \"GC-XYZ-9988\",\n    \"balance\": 200\n  }\n}"
            }
          ]
        },
        {
          "name": "Redeem gift card",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/gift-cards/{code}/redeem",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "gift-cards",
                "{code}",
                "redeem"
              ],
              "variable": [
                {
                  "key": "code",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 50,\n  \"sale_id\": 50002\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"remaining_balance\": 150\n  }\n}"
            }
          ]
        },
        {
          "name": "B2B credit holds queue",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/customers/credit-holds",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "customers",
                "credit-holds"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"sale_id\": 50100,\n      \"customer_id\": 80,\n      \"hold_reason\": \"credit_limit_exceeded\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "08 — Suppliers & Purchasing",
      "description": "",
      "item": [
        {
          "name": "List suppliers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/suppliers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "suppliers"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 12,\n      \"name\": \"Almarai Co.\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create supplier",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/suppliers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "suppliers"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Almarai Co.\",\n  \"vat_number\": \"300...\",\n  \"payment_terms_days\": 30\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12\n  }\n}"
            }
          ]
        },
        {
          "name": "Supplier invoice",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/supplier-invoices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "supplier-invoices"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supplier_id\": 12,\n  \"invoice_no\": \"INV-001\",\n  \"invoice_date\": \"2026-04-26\",\n  \"lines\": [\n    {\n      \"account_code\": \"5000\",\n      \"amount\": 600,\n      \"vat_code\": \"STD\"\n    }\n  ],\n  \"grn_id\": 8001\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"journal_entry_id\": 1300\n  }\n}"
            }
          ]
        },
        {
          "name": "Supplier payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/supplier-payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "supplier-payments"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supplier_id\": 12,\n  \"amount\": 690,\n  \"paid_via\": \"bank_transfer\",\n  \"supplier_invoice_ids\": [\n    1\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"journal_entry_id\": 1305\n  }\n}"
            }
          ]
        },
        {
          "name": "Debit note",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/debit-notes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "debit-notes"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supplier_id\": 12,\n  \"amount\": 50,\n  \"reason\": \"damaged_units\",\n  \"grn_id\": 8001\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "09 — Promotions",
      "description": "",
      "item": [
        {
          "name": "List promotions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/promotions?status=active",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "promotions"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"code\": \"RAMADAN10\",\n      \"kind\": \"percent\",\n      \"value\": 10,\n      \"priority\": 50\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create promotion",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/promotions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "promotions"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"RAMADAN10\",\n  \"kind\": \"percent\",\n  \"value\": 10,\n  \"priority\": 50,\n  \"starts_at\": \"2026-02-15\",\n  \"ends_at\": \"2026-03-15\",\n  \"rules\": [\n    {\n      \"type\": \"min_amount\",\n      \"value\": 100\n    },\n    {\n      \"type\": \"category_in\",\n      \"value\": [\n        5\n      ]\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Update promotion",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/promotions/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "promotions",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"value\": 15\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "10 — E-com & Marketplaces",
      "description": "",
      "item": [
        {
          "name": "Place e-com order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/ecom/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "ecom",
                "orders"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_id\": 55,\n  \"lines\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 2\n    }\n  ],\n  \"shipping_address\": {\n    \"line_1\": \"...\",\n    \"city\": \"Riyadh\",\n    \"postal_code\": \"12345\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 7001,\n    \"status\": \"reserved\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Fulfill e-com order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/ecom/orders/{id}/fulfill",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "ecom",
                "orders",
                "{id}",
                "fulfill"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tracking_no\": \"TRK-9988\",\n  \"carrier\": \"smsa\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 7001,\n    \"status\": \"shipped\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Return e-com order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/ecom/orders/{id}/return",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "ecom",
                "orders",
                "{id}",
                "return"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lines\": [\n    {\n      \"ecom_order_line_id\": 1,\n      \"qty\": 1,\n      \"reason\": \"defect\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Sync marketplace catalog",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/marketplaces/{partner}/sync",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "marketplaces",
                "{partner}",
                "sync"
              ],
              "variable": [
                {
                  "key": "partner",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"force\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "202 Accepted",
              "originalRequest": {},
              "status": "Accepted",
              "code": 202,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"job_id\": \"sync_xx\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Marketplace order webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "X-Signature",
                "value": "{{partnerSignature}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/marketplaces/{partner}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                "marketplaces",
                "{partner}"
              ],
              "variable": [
                {
                  "key": "partner",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"external_id\": \"mkt_123\",\n  \"lines\": [\n    {\n      \"sku\": \"LATTE-12\",\n      \"qty\": 1\n    }\n  ],\n  \"total\": 18\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"ingested\": true\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "11 — Dine / Orders & KDS",
      "description": "State enforcement is server-only. WS /kds/{station} is the live feed (subscribe via WebSocket).",
      "item": [
        {
          "name": "Open order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Branch-Id",
                "value": "{{branchId}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"table_id\": 4,\n  \"party_size\": 2,\n  \"channel\": \"dine_in\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9001,\n    \"status\": \"open\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Add item",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/{id}/items",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                "{id}",
                "items"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"menu_item_id\": 14,\n  \"qty\": 1,\n  \"modifiers\": [\n    {\n      \"modifier_id\": 3,\n      \"value\": \"extra_shot\"\n    }\n  ],\n  \"notes\": \"no foam\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Modify item",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/order-items/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "order-items",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"qty\": 2\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"qty\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Void item (manager PIN)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/order-items/{id}/void",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "order-items",
                "{id}",
                "void"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"wrong_input\",\n  \"manager_pin\": \"{{managerPin}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"voided\": true\n  }\n}"
            }
          ]
        },
        {
          "name": "Fire order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/{id}/fire",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                "{id}",
                "fire"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"course\": \"main\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9001,\n    \"status\": \"fired\",\n    \"stock_movements\": 4\n  }\n}"
            }
          ]
        },
        {
          "name": "KDS transition",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/kds/items/{id}/{action}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "kds",
                "items",
                "{id}",
                "{action}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "action",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"station\": \"hot_line\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "action ∈ {start, ready, recall, bump}."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"kds_state\": \"in_progress\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Serve order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/{id}/serve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                "{id}",
                "serve"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9001,\n    \"status\": \"served\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Close order (creates Sale)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/{id}/close",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                "{id}",
                "close"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"payments\": [\n    {\n      \"tender\": \"mada\",\n      \"amount\": 230\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9001,\n    \"status\": \"closed\",\n    \"sale_id\": 50050\n  }\n}"
            }
          ]
        },
        {
          "name": "Cancel order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/orders/{id}/cancel",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                "{id}",
                "cancel"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"guest_left\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9001,\n    \"status\": \"cancelled\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "12 — Dine / Tables & Reservations",
      "description": "",
      "item": [
        {
          "name": "List tables",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/tables?branch_id=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tables"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 4,\n      \"label\": \"T4\",\n      \"section_id\": 1,\n      \"status\": \"available\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create table",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/tables",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tables"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"T5\",\n  \"section_id\": 1,\n  \"capacity\": 4\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 5\n  }\n}"
            }
          ]
        },
        {
          "name": "Seat party",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/tables/{id}/seat",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tables",
                "{id}",
                "seat"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"party_size\": 2,\n  \"customer_id\": 55\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"table_id\": 4,\n    \"order_id\": 9001\n  }\n}"
            }
          ]
        },
        {
          "name": "Move party",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/tables/{id}/move",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "tables",
                "{id}",
                "move"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to_table_id\": 7\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"from\": 4,\n    \"to\": 7\n  }\n}"
            }
          ]
        },
        {
          "name": "List reservations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reservations?date=2026-04-26",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reservations"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"customer_id\": 55,\n      \"party_size\": 4,\n      \"slot\": \"20:00\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create reservation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reservations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reservations"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customer_id\": 55,\n  \"date\": \"2026-04-26\",\n  \"slot\": \"20:00\",\n  \"party_size\": 4\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Add to waitlist",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/waitlist",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "waitlist"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Walk-in / Saud\",\n  \"party_size\": 2\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"position\": 3\n  }\n}"
            }
          ]
        },
        {
          "name": "Public QR — get menu",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/qr/{token}/menu",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "qr",
                "{token}",
                "menu"
              ],
              "variable": [
                {
                  "key": "token",
                  "value": ""
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"menu\": {\n      \"id\": 1,\n      \"sections\": [\n        {\n          \"id\": 1,\n          \"name\": \"Starters\",\n          \"items\": [\n            {\n              \"id\": 14,\n              \"name\": \"Hummus\",\n              \"price\": 18\n            }\n          ]\n        }\n      ]\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Public QR — place order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/qr/{token}/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "qr",
                "{token}",
                "orders"
              ],
              "variable": [
                {
                  "key": "token",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lines\": [\n    {\n      \"menu_item_id\": 14,\n      \"qty\": 1\n    }\n  ],\n  \"guest\": {\n    \"name\": \"Saud\",\n    \"phone\": \"+9665XX\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9020\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "13 — Dine / Menus, Modifiers, Combos",
      "description": "",
      "item": [
        {
          "name": "List menus",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/menus",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "menus"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Main\",\n      \"active\": true\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create menu",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/menus",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "menus"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": {\n    \"en\": \"Breakfast\",\n    \"ar\": \"إفطار\"\n  },\n  \"active_from\": \"07:00\",\n  \"active_to\": \"11:00\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "List modifier groups",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/modifier-groups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "modifier-groups"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 3,\n      \"name\": \"Milk\",\n      \"min\": 1,\n      \"max\": 1\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create modifier group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/modifier-groups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "modifier-groups"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Milk\",\n  \"min\": 1,\n  \"max\": 1,\n  \"modifiers\": [\n    {\n      \"name\": \"Whole\",\n      \"price_delta\": 0\n    },\n    {\n      \"name\": \"Oat\",\n      \"price_delta\": 3\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 4\n  }\n}"
            }
          ]
        },
        {
          "name": "List combos",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/combos",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "combos"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Burger Combo\",\n      \"price\": 45\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create combo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/combos",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "combos"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Burger Combo\",\n  \"price\": 45,\n  \"components\": [\n    {\n      \"category_id\": 6,\n      \"qty\": 1\n    },\n    {\n      \"category_id\": 7,\n      \"qty\": 1\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Bulk-update item availability (86)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/menu-items/bulk-availability",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "menu-items",
                "bulk-availability"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    {\n      \"menu_item_id\": 14,\n      \"available\": false,\n      \"reason\": \"out_of_stock\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"updated\": 1\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "14 — Dine / Recipes & Production",
      "description": "",
      "item": [
        {
          "name": "List recipes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/recipes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "recipes"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 14,\n      \"name\": \"Latte\",\n      \"version\": 3\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create recipe",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/recipes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "recipes"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Latte\",\n  \"yields_qty\": 1,\n  \"yields_unit\": \"cup\",\n  \"components\": [\n    {\n      \"ingredient_product_id\": 200,\n      \"qty\": 0.03,\n      \"unit\": \"kg\"\n    },\n    {\n      \"ingredient_product_id\": 201,\n      \"qty\": 0.2,\n      \"unit\": \"L\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 14,\n    \"version\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Update recipe (creates new version)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/recipes/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "recipes",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"components\": [\n    {\n      \"ingredient_product_id\": 200,\n      \"qty\": 0.04,\n      \"unit\": \"kg\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 14,\n    \"version\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Production order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/production-orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "production-orders"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"recipe_id\": 14,\n  \"qty\": 50,\n  \"branch_id\": 1\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"journal_entry_id\": 1400\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "15 — Dine / Delivery & Aggregators",
      "description": "",
      "item": [
        {
          "name": "Delivery queue",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/delivery/queue",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "delivery",
                "queue"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"order_id\": 9100,\n      \"status\": \"ready_for_dispatch\",\n      \"drop_distance_km\": 3.2\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Assign courier",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/delivery/assign",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "delivery",
                "assign"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"order_id\": 9100,\n  \"courier_id\": 5\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"assignment_id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Stack run",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/delivery/stack",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "delivery",
                "stack"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"courier_id\": 5,\n  \"order_ids\": [\n    9100,\n    9101\n  ],\n  \"run_order\": [\n    9100,\n    9101\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"run_id\": \"run_aaa\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Capture POD",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/delivery/{id}/pod",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "delivery",
                "{id}",
                "pod"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"method\": \"photo\",\n  \"proof_url\": \"...\",\n  \"paid_cod\": 230\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"assignment_id\": 1,\n    \"sale_finalized\": true\n  }\n}"
            }
          ]
        },
        {
          "name": "Driver handoff",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/delivery/{id}/handoff",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "delivery",
                "{id}",
                "handoff"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"from_courier_id\": 5,\n  \"to_courier_id\": 7,\n  \"reason\": \"shift_change\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"ok\": true\n  }\n}"
            }
          ]
        },
        {
          "name": "Aggregator inbox",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/aggregator/inbox?status=pending",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "aggregator",
                "inbox"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"partner\": \"jahez\",\n      \"external_id\": \"j_123\",\n      \"status\": \"pending\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Accept aggregator order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/aggregator/{id}/accept",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "aggregator",
                "{id}",
                "accept"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"confirm_pricing\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"order_id\": 9200\n  }\n}"
            }
          ]
        },
        {
          "name": "Reject aggregator order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/aggregator/{id}/reject",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "aggregator",
                "{id}",
                "reject"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason_code\": \"out_of_stock\",\n  \"note\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"status\": \"rejected\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Aggregator webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "X-Signature",
                "value": "{{partnerSignature}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/aggregator/{partner}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                "aggregator",
                "{partner}"
              ],
              "variable": [
                {
                  "key": "partner",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"event\": \"order.created\",\n  \"payload\": {\n    \"external_id\": \"j_123\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"ingested\": true\n  }\n}"
            }
          ]
        },
        {
          "name": "Close rider shift",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/couriers/{id}/close-shift",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "couriers",
                "{id}",
                "close-shift"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"counted_cod\": 460\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"courier_id\": 5,\n    \"variance\": 0,\n    \"journal_entry_id\": 1450\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "16 — Pay (PSP)",
      "description": "DALSEEN is a SAMA-licensed PSP. Acquirers settle directly to tenant bank accounts; DALSEEN does not hold funds.",
      "item": [
        {
          "name": "Record direct SoftPOS txn",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/transactions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "transactions"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"merchant_id\": 12,\n  \"terminal_id\": \"tm_xxx\",\n  \"amount\": 230,\n  \"currency\": \"SAR\",\n  \"scheme\": \"mada\",\n  \"auth_code\": \"A123\",\n  \"masked_pan\": \"***1234\",\n  \"reference\": \"sale_50001\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": \"txn_aaa\",\n    \"status\": \"captured\",\n    \"acquirer_id\": 2,\n    \"mdr_pct\": 0.85\n  }\n}"
            }
          ]
        },
        {
          "name": "Record partner-pushed txn (HMAC)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "X-Signature",
                "value": "{{partnerSignature}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/partner/transactions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "partner",
                "transactions"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"partner_ref\": \"p_999\",\n  \"merchant_id\": 12,\n  \"amount\": 230,\n  \"scheme\": \"visa\",\n  \"auth_code\": \"B222\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": \"txn_bbb\",\n    \"status\": \"captured\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Refund (record-only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/transactions/{id}/refund",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "transactions",
                "{id}",
                "refund"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 230,\n  \"reason\": \"customer_return\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": \"txn_aaa\",\n    \"refund_status\": \"submitted\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Tenant settlements (read-only)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/settlements?from=2026-04-01&to=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "settlements"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"acquirer_id\": 2,\n      \"settlement_date\": \"2026-04-26\",\n      \"gross\": 12340.5,\n      \"mdr\": 105,\n      \"net\": 12235.5\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Chargeback inbound",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              },
              {
                "key": "X-Signature",
                "value": "{{partnerSignature}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/acquirers/{id}/chargebacks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                "acquirers",
                "{id}",
                "chargebacks"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"txn_id\": \"txn_aaa\",\n  \"amount\": 230,\n  \"reason\": \"fraud\",\n  \"evidence_url\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"case_id\": \"cb_1\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Issue terminal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/terminals",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "terminals"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"merchant_id\": 12,\n  \"model\": \"PAX A920\",\n  \"serial\": \"SN-XYZ\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": \"tm_xxx\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Issue SoftPOS device",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/softpos-devices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "softpos-devices"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"merchant_id\": 12,\n  \"device_id\": \"android_xxx\",\n  \"attestation_token\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": \"spx_xxx\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Set MDR schedule",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/merchants/{id}/mdr",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "merchants",
                "{id}",
                "mdr"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"schedules\": [\n    {\n      \"scheme\": \"mada\",\n      \"pct\": 0.85\n    },\n    {\n      \"scheme\": \"visa\",\n      \"pct\": 1.95\n    },\n    {\n      \"scheme\": \"mc\",\n      \"pct\": 1.95\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"merchant_id\": 12\n  }\n}"
            }
          ]
        },
        {
          "name": "Issue partner sandbox keys",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/partners/{id}/keys",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "partners",
                "{id}",
                "keys"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"rotate\": true,\n  \"scope\": [\n    \"tx.write\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"key_id\": \"key_xx\",\n    \"secret\": \"[shown once]\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Charge (active capture)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/charge",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "charge"
              ],
              "variable": []
            },
            "description": "Active charge — issues an authorization+capture against a saved instrument or token. Distinct from `POST /pay/transactions` which is record-only after the acquirer already authorized.\n\n**Required scope:** `pay:write`. Returns `pending` if 3DS is required (separate webhook completes).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"merchant_id\": 12,\n  \"amount\": 230,\n  \"currency\": \"SAR\",\n  \"payment_method\": {\n    \"type\": \"token\",\n    \"token_id\": \"tok_abc\"\n  },\n  \"reference\": \"sale_50001\",\n  \"capture\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": \"txn_charge_aaa\",\n    \"status\": \"captured\",\n    \"acquirer_id\": 2,\n    \"auth_code\": \"A123\",\n    \"masked_pan\": \"***1234\",\n    \"scheme\": \"mada\",\n    \"mdr_pct\": 0.85,\n    \"three_ds\": {\n      \"required\": false\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Open dispute (merchant-initiated)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/disputes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "disputes"
              ],
              "variable": []
            },
            "description": "Merchant-initiated dispute (e.g. customer claims double-charge). Distinct from inbound chargebacks (`/webhooks/acquirers/{id}/chargebacks`).\n\nServer creates a dispute case and notifies the acquirer.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"txn_id\": \"txn_aaa\",\n  \"reason\": \"customer_complaint\",\n  \"amount\": 230,\n  \"narrative\": {\n    \"en\": \"Customer says charged twice.\",\n    \"ar\": \"العميل يقول إنه تم خصم المبلغ مرتين.\"\n  },\n  \"evidence_files\": [\n    \"upload_id_1\",\n    \"upload_id_2\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"case_id\": \"cb_2\",\n    \"status\": \"open\",\n    \"reason\": \"customer_complaint\",\n    \"opened_by\": \"merchant\",\n    \"amount\": 230,\n    \"sla_due_at\": \"2026-05-10T00:00:00Z\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Manual / out-of-cycle payout",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/payouts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "payouts"
              ],
              "variable": []
            },
            "description": "Triggers an off-schedule payout (e.g. tenant requests early settlement). Subject to acquirer support; some flag as `requested` until acquirer confirms.\n\n**Required scope:** `pay:admin`.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"merchant_id\": 12,\n  \"amount\": 12235.5,\n  \"currency\": \"SAR\",\n  \"bank_account_id\": \"iban_default\",\n  \"reason\": \"tenant_request\",\n  \"reference\": \"manual_payout_2026-04-26\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": \"po_manual_aaa\",\n    \"status\": \"requested\",\n    \"merchant_id\": 12,\n    \"amount\": 12235.5,\n    \"currency\": \"SAR\",\n    \"eta\": \"2026-04-28\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Settlement lines (drill-down)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/settlements/{id}/lines?page=1&per_page=50",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "settlements",
                "{id}",
                "lines"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "per_page",
                  "value": "50"
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "description": "Drill into a single settlement to see the underlying transactions. Used by the Pay → Settlements → \"View lines\" UI."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"txn_id\": \"txn_aaa\",\n      \"captured_at\": \"2026-04-25T18:42:00Z\",\n      \"scheme\": \"mada\",\n      \"gross\": 230,\n      \"mdr\": 1.96,\n      \"net\": 228.04,\n      \"reference\": \"sale_50001\"\n    },\n    {\n      \"txn_id\": \"txn_bbb\",\n      \"captured_at\": \"2026-04-25T19:10:00Z\",\n      \"scheme\": \"visa\",\n      \"gross\": 410.5,\n      \"mdr\": 8.005,\n      \"net\": 402.5,\n      \"reference\": \"sale_50002\"\n    }\n  ],\n  \"summary\": {\n    \"gross\": 12340.5,\n    \"mdr\": 105,\n    \"net\": 12235.5,\n    \"txns_count\": 184\n  },\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 184\n  }\n}"
            }
          ]
        },
        {
          "name": "List transactions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/pay/transactions?from=2026-04-01&to=2026-04-30&merchant_id=&scheme=&status=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "pay",
                "transactions"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "2026-04-01"
                },
                {
                  "key": "to",
                  "value": "2026-04-30"
                },
                {
                  "key": "merchant_id",
                  "value": ""
                },
                {
                  "key": "scheme",
                  "value": ""
                },
                {
                  "key": "status",
                  "value": ""
                }
              ],
              "variable": []
            },
            "description": "List captured transactions for the tenant. Filterable by date range, merchant, terminal, scheme, status. Used by the Pay transactions screen."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": \"txn_aaa\",\n      \"merchant_id\": 12,\n      \"terminal_id\": \"tm_xxx\",\n      \"scheme\": \"mada\",\n      \"masked_pan\": \"***1234\",\n      \"amount\": 230,\n      \"currency\": \"SAR\",\n      \"status\": \"captured\",\n      \"auth_code\": \"A123\",\n      \"mdr_pct\": 0.85,\n      \"captured_at\": \"2026-04-25T18:42:00Z\",\n      \"reference\": \"sale_50001\",\n      \"settlement_id\": 1\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "17 — Accounting (Books, COA, Journal, GL, VAT, Banking)",
      "description": "Complete accounting surface — replaces the prior thin folder.\n\n**Sub-sections (mirror app/accounting screens + BACKEND-MAPPING §17):**\n- 17.1  Chart of Accounts — hierarchical CRUD, templates, archive/merge/reparent, import/export\n- 17.2  Fiscal calendar & periods — open/close/reopen, year-end rollover\n- 17.3  Opening balances & TB import\n- 17.4  Tax · VAT · ZATCA\n- 17.5  Customers & AR (ledger, statements, aging, receipts, credit notes, write-offs)\n- 17.6  Vendors & AP (ledger, aging, payments, vendor debit notes)\n- 17.7  Journal entries & GL (post, reverse, adjust, dimensions, recurring)\n- 17.8  Vouchers (CR / CP / JV)\n- 17.9  Banking — bank accounts, statements, auto-match, reconcile\n- 17.10 Dimensions — cost centers, projects\n- 17.11 Financial reports — TB, P&L, BS, Cashflow, Equity, drill-down\n- 17.12 Settings & integrations — control accounts, FX, posting bridges\n- 17.13 Audit trail\n\n**Posting rule:** every source document (Sale, GRN, payment, etc.) flows through its `Accounting\\Posting\\Post*Service` — manual JE is the escape hatch, never the path.",
      "item": [
        {
          "name": "17.1 — Chart of Accounts",
          "description": "Full CoA lifecycle: hierarchical CRUD, templates, archive/merge/reparent, import/export, validation, rollup recompute.",
          "item": [
            {
              "name": "List CoA — flat",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa?format=flat&include_archived=false",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa"
                  ],
                  "query": [
                    {
                      "key": "format",
                      "value": "flat"
                    },
                    {
                      "key": "include_archived",
                      "value": "false"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"code\": \"1000\",\n      \"name\": {\n        \"en\": \"ASSETS\",\n        \"ar\": \"الأصول\"\n      },\n      \"type\": \"asset\",\n      \"bs\": \"current\",\n      \"is_parent\": true,\n      \"parent_code\": null,\n      \"balance\": 0,\n      \"postable\": false,\n      \"archived\": false\n    },\n    {\n      \"id\": 2,\n      \"code\": \"1101\",\n      \"name\": {\n        \"en\": \"Riyad Bank · Operating\",\n        \"ar\": \"بنك الرياض · تشغيلي\"\n      },\n      \"type\": \"asset\",\n      \"bs\": \"current\",\n      \"is_parent\": false,\n      \"parent_code\": \"1100\",\n      \"balance\": 284650,\n      \"postable\": true,\n      \"vat_code\": null,\n      \"archived\": false\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
                }
              ]
            },
            {
              "name": "List CoA — tree",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa?format=tree",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa"
                  ],
                  "query": [
                    {
                      "key": "format",
                      "value": "tree"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"tree\": [\n      {\n        \"code\": \"1000\",\n        \"name\": {\n          \"en\": \"ASSETS\",\n          \"ar\": \"الأصول\"\n        },\n        \"type\": \"asset\",\n        \"balance\": 850340,\n        \"children\": [\n          {\n            \"code\": \"1010\",\n            \"name\": {\n              \"en\": \"Cash & equivalents\",\n              \"ar\": \"النقدية\"\n            },\n            \"balance\": 31490,\n            \"children\": [\n              {\n                \"code\": \"1011\",\n                \"name\": {\n                  \"en\": \"Cash on hand · HQ\",\n                  \"ar\": \"نقدية · المكتب الرئيسي\"\n                },\n                \"balance\": 8420,\n                \"postable\": true\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Get account",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/{code}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "{code}"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 14,\n    \"code\": \"1101\",\n    \"name\": {\n      \"en\": \"Riyad Bank · Operating\",\n      \"ar\": \"بنك الرياض · تشغيلي\"\n    },\n    \"type\": \"asset\",\n    \"bs\": \"current\",\n    \"parent_code\": \"1100\",\n    \"is_parent\": false,\n    \"postable\": true,\n    \"archived\": false,\n    \"currency\": \"SAR\",\n    \"default_vat_code\": null,\n    \"bank_account\": {\n      \"iban\": \"SA0380000000608010167519\",\n      \"swift\": \"RJHISARI\",\n      \"branch\": \"Riyadh-Olaya\"\n    },\n    \"opening_balance\": 250000,\n    \"current_balance\": 284650,\n    \"ytd_movement\": {\n      \"debit\": 1240500,\n      \"credit\": 1205850\n    }\n  }\n}"
                }
              ]
            },
            {
              "name": "Create account (leaf)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"5210\",\n  \"name\": {\n    \"en\": \"Marketing — Digital ads\",\n    \"ar\": \"تسويق — إعلانات رقمية\"\n  },\n  \"type\": \"expense\",\n  \"pl\": \"opex\",\n  \"bs\": null,\n  \"parent_code\": \"5200\",\n  \"currency\": \"SAR\",\n  \"default_vat_code\": \"STD\",\n  \"cost_center_required\": false,\n  \"project_required\": false,\n  \"reconcilable\": false,\n  \"cashflow_section\": \"operating\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Server enforces type-vs-parent compatibility and uniqueness of (company, code)."
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 142,\n    \"code\": \"5210\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Create account (parent / rollup)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"5200\",\n  \"name\": {\n    \"en\": \"Marketing\",\n    \"ar\": \"التسويق\"\n  },\n  \"type\": \"expense\",\n  \"pl\": \"opex\",\n  \"parent_code\": \"5000\",\n  \"is_parent\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 141,\n    \"code\": \"5200\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Update account",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/{code}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "{code}"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": {\n    \"en\": \"Marketing — Paid social\",\n    \"ar\": \"التسويق — المدفوع\"\n  },\n  \"default_vat_code\": \"STD\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "423 if account has posted JE lines and you try to change `type` or `pl`."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"code\": \"5210\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Re-parent account",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/{code}/reparent",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "{code}",
                    "reparent"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"new_parent_code\": \"5300\",\n  \"confirm_rollup_recompute\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "422 if new_parent has a different `type`. Triggers async parent-rollup recompute."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"code\": \"5210\",\n    \"new_parent\": \"5300\",\n    \"recomputed_parents\": [\n      \"5200\",\n      \"5300\",\n      \"5000\"\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Archive account",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/{code}/archive",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "{code}",
                    "archive"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"reason\": \"deprecated\",\n  \"merge_into_code\": null\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "423 if balance ≠ 0 unless `merge_into_code` provided. Archived accounts are filtered from posting forms but kept for history."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"code\": \"5210\",\n    \"archived\": true\n  }\n}"
                }
              ]
            },
            {
              "name": "Unarchive account",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/{code}/unarchive",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "{code}",
                    "unarchive"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"code\": \"5210\",\n    \"archived\": false\n  }\n}"
                }
              ]
            },
            {
              "name": "Merge account into another",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/{code}/merge",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "{code}",
                    "merge"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"into_code\": \"5300\",\n  \"remap_history\": true,\n  \"confirm_remap\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Re-stamps `journal_lines.account_id` for the source account and archives it. Irreversible."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"from\": \"5210\",\n    \"into\": \"5300\",\n    \"lines_remapped\": 142\n  }\n}"
                }
              ]
            },
            {
              "name": "Delete account (hard)",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/{code}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "{code}"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                },
                "description": "423 if any JE lines exist. Use archive in nearly all cases."
              },
              "response": [
                {
                  "name": "204 No Content",
                  "originalRequest": {},
                  "status": "No Content",
                  "code": 204,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": ""
                }
              ]
            },
            {
              "name": "Bulk activity (CSV-style)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/bulk",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "bulk"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"operations\": [\n    {\n      \"op\": \"upsert\",\n      \"code\": \"5300\",\n      \"name\": {\n        \"en\": \"Travel\",\n        \"ar\": \"السفر\"\n      },\n      \"type\": \"expense\",\n      \"pl\": \"opex\",\n      \"parent_code\": \"5000\"\n    },\n    {\n      \"op\": \"archive\",\n      \"code\": \"5299\",\n      \"reason\": \"replaced\"\n    },\n    {\n      \"op\": \"reparent\",\n      \"code\": \"5210\",\n      \"new_parent_code\": \"5300\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"ok\": 3,\n    \"failed\": 0,\n    \"results\": []\n  }\n}"
                }
              ]
            },
            {
              "name": "List CoA templates",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/templates",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "templates"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"code\": \"ksa_retail_v3\",\n      \"name\": {\n        \"en\": \"KSA Retail v3\",\n        \"ar\": \"التجزئة السعودية v3\"\n      },\n      \"accounts\": 142,\n      \"recommended_for\": \"retail\"\n    },\n    {\n      \"code\": \"ksa_fnb_v3\",\n      \"name\": {\n        \"en\": \"KSA F&B v3\",\n        \"ar\": \"المطاعم السعودية v3\"\n      },\n      \"accounts\": 156,\n      \"recommended_for\": \"dine\"\n    },\n    {\n      \"code\": \"ksa_services_v2\",\n      \"name\": {\n        \"en\": \"KSA Services v2\",\n        \"ar\": \"الخدمات السعودية v2\"\n      },\n      \"accounts\": 118,\n      \"recommended_for\": \"services\"\n    },\n    {\n      \"code\": \"socpa_minimal\",\n      \"name\": {\n        \"en\": \"SOCPA Minimal\",\n        \"ar\": \"سوكبا الأساسي\"\n      },\n      \"accounts\": 64,\n      \"recommended_for\": \"micro\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 4\n  }\n}"
                }
              ]
            },
            {
              "name": "Preview template",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/templates/{code}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "templates",
                    "{code}"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"code\": \"ksa_retail_v3\",\n    \"accounts\": 142,\n    \"preview_tree\": [],\n    \"vat_codes\": [\n      {\n        \"code\": \"STD\",\n        \"rate\": 0.15\n      },\n      {\n        \"code\": \"ZERO\",\n        \"rate\": 0\n      },\n      {\n        \"code\": \"EXEMPT\",\n        \"rate\": 0\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Seed CoA from template",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/seed",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "seed"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"template\": \"ksa_retail_v3\",\n  \"mode\": \"merge\",\n  \"seed_vat_codes\": true,\n  \"seed_default_dimensions\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "423 if any non-template account has a posted JE and `mode=replace`."
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"accounts_created\": 12,\n    \"accounts_skipped\": 0,\n    \"vat_codes_created\": 5,\n    \"dimensions_created\": 4\n  }\n}"
                }
              ]
            },
            {
              "name": "Export CoA (CSV/XLSX)",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/export?format=xlsx&include_balances=true",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "export"
                  ],
                  "query": [
                    {
                      "key": "format",
                      "value": "xlsx"
                    },
                    {
                      "key": "include_balances",
                      "value": "true"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"download_url\": \"https://.../coa.xlsx\",\n    \"expires_in\": 600\n  }\n}"
                }
              ]
            },
            {
              "name": "Import CoA (CSV/XLSX)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/import",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "import"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"file_url\": \"https://...uploaded.xlsx\",\n  \"mode\": \"merge\",\n  \"header_map\": {\n    \"code\": \"Account Code\",\n    \"name_en\": \"Name (EN)\",\n    \"name_ar\": \"Name (AR)\",\n    \"type\": \"Type\",\n    \"parent_code\": \"Parent\"\n  },\n  \"on_conflict\": \"skip\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "202 Accepted",
                  "originalRequest": {},
                  "status": "Accepted",
                  "code": 202,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"job_id\": \"coa_imp_xx\",\n    \"will_create\": 12,\n    \"will_overwrite\": 3,\n    \"will_skip\": 1,\n    \"will_error\": 0\n  }\n}"
                }
              ]
            },
            {
              "name": "CoA validation report",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/validate",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "validate"
                  ],
                  "variable": []
                },
                "description": "Run before period close to catch tree/type defects."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"issues\": [\n      {\n        \"code\": \"5210\",\n        \"level\": \"warn\",\n        \"msg\": \"No VAT code set on expense account\"\n      },\n      {\n        \"code\": \"3001\",\n        \"level\": \"error\",\n        \"msg\": \"Equity parent has type=asset child\"\n      }\n    ],\n    \"orphans\": [],\n    \"duplicates\": []\n  }\n}"
                }
              ]
            },
            {
              "name": "Recompute parent rollups",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/coa/recompute",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "coa",
                    "recompute"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"scope\": \"all\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "202 Accepted",
                  "originalRequest": {},
                  "status": "Accepted",
                  "code": 202,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"job_id\": \"coa_rc_xx\"\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.2 — Fiscal calendar & periods",
          "description": "",
          "item": [
            {
              "name": "Get fiscal calendar",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/fiscal-calendar",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "fiscal-calendar"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"fiscal_year_start\": \"01-01\",\n    \"current_fy\": \"2026\",\n    \"close_cadence\": \"monthly\",\n    \"auto_lock_days_after_close\": 7,\n    \"lock_policy\": \"soft\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Update fiscal calendar",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/fiscal-calendar",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "fiscal-calendar"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"fiscal_year_start\": \"01-04\",\n  \"close_cadence\": \"quarterly\",\n  \"lock_policy\": \"hard\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"fiscal_year_start\": \"01-04\"\n  }\n}"
                }
              ]
            },
            {
              "name": "List periods",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/periods?fy=2026",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "periods"
                  ],
                  "query": [
                    {
                      "key": "fy",
                      "value": "2026"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"key\": \"2026-01\",\n      \"status\": \"closed\",\n      \"closed_at\": \"2026-02-05T00:00:00Z\",\n      \"closed_by\": 1\n    },\n    {\n      \"id\": 2,\n      \"key\": \"2026-02\",\n      \"status\": \"closed\"\n    },\n    {\n      \"id\": 3,\n      \"key\": \"2026-03\",\n      \"status\": \"closing\",\n      \"checks\": {\n        \"frictionless_open\": 0,\n        \"unbalanced_je\": 0\n      }\n    },\n    {\n      \"id\": 4,\n      \"key\": \"2026-04\",\n      \"status\": \"open\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 4\n  }\n}"
                }
              ]
            },
            {
              "name": "Period readiness check",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/periods/{key}/checks",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "periods",
                    "{key}",
                    "checks"
                  ],
                  "variable": [
                    {
                      "key": "key",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"ok\": false,\n    \"blockers\": [\n      {\n        \"kind\": \"open_frictionless_event\",\n        \"count\": 2\n      },\n      {\n        \"kind\": \"unposted_grn\",\n        \"count\": 1\n      }\n    ],\n    \"warnings\": [\n      {\n        \"kind\": \"unreconciled_bank_lines\",\n        \"count\": 5\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Close period",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/periods/{key}/close",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "periods",
                    "{key}",
                    "close"
                  ],
                  "variable": [
                    {
                      "key": "key",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"confirm_blockers_resolved\": true,\n  \"note\": \"Month-end\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "423 if blockers remain. Logs to platform_audit."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"key\": \"2026-03\",\n    \"status\": \"closed\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Reopen period",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/periods/{key}/reopen",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "periods",
                    "{key}",
                    "reopen"
                  ],
                  "variable": [
                    {
                      "key": "key",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"reason\": \"found error in payroll\",\n  \"manager_pin\": \"{{managerPin}}\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Permission-gated; always audited."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"key\": \"2026-03\",\n    \"status\": \"open\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Year-end close (rollover)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/year-end/close",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "year-end",
                    "close"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"fy\": \"2026\",\n  \"retained_earnings_account\": \"3200\",\n  \"confirm_all_periods_closed\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "202 Accepted",
                  "originalRequest": {},
                  "status": "Accepted",
                  "code": 202,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"job_id\": \"ye_xx\"\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.3 — Opening balances",
          "description": "",
          "item": [
            {
              "name": "Get opening balances",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/opening-balances?as_of=2026-01-01",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "opening-balances"
                  ],
                  "query": [
                    {
                      "key": "as_of",
                      "value": "2026-01-01"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"account_code\": \"1101\",\n      \"debit\": 250000,\n      \"credit\": 0,\n      \"currency\": \"SAR\"\n    },\n    {\n      \"account_code\": \"3000\",\n      \"debit\": 0,\n      \"credit\": 250000,\n      \"currency\": \"SAR\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
                }
              ]
            },
            {
              "name": "Set/replace opening balances",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/opening-balances",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "opening-balances"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"as_of\": \"2026-01-01\",\n  \"currency\": \"SAR\",\n  \"lines\": [\n    {\n      \"account_code\": \"1101\",\n      \"debit\": 250000,\n      \"credit\": 0,\n      \"memo\": \"Bank — Riyad\"\n    },\n    {\n      \"account_code\": \"3000\",\n      \"debit\": 0,\n      \"credit\": 250000,\n      \"memo\": \"Owner equity\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Posts a single special JE tagged `kind=opening_balance`. Replaces any prior."
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"journal_entry_id\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Import trial balance (XLSX)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/opening-balances/import",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "opening-balances",
                    "import"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"file_url\": \"https://...tb.xlsx\",\n  \"as_of\": \"2026-01-01\",\n  \"header_map\": {\n    \"code\": \"A\",\n    \"debit\": \"B\",\n    \"credit\": \"C\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "202 Accepted",
                  "originalRequest": {},
                  "status": "Accepted",
                  "code": 202,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"job_id\": \"tb_imp_xx\",\n    \"will_post\": 142\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.4 — Tax · VAT · ZATCA",
          "description": "",
          "item": [
            {
              "name": "List VAT codes",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vat-codes",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vat-codes"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"code\": \"STD\",\n      \"name\": {\n        \"en\": \"Standard 15%\",\n        \"ar\": \"معياري 15%\"\n      },\n      \"rate\": 0.15,\n      \"applies_to\": [\n        \"sales\",\n        \"purchases\"\n      ]\n    },\n    {\n      \"code\": \"ZERO\",\n      \"name\": {\n        \"en\": \"Zero-rated\",\n        \"ar\": \"صفري\"\n      },\n      \"rate\": 0\n    },\n    {\n      \"code\": \"EXEMPT\",\n      \"name\": {\n        \"en\": \"Exempt\",\n        \"ar\": \"معفى\"\n      },\n      \"rate\": 0\n    },\n    {\n      \"code\": \"OUT\",\n      \"name\": {\n        \"en\": \"Out of scope\",\n        \"ar\": \"خارج النطاق\"\n      },\n      \"rate\": 0\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 4\n  }\n}"
                }
              ]
            },
            {
              "name": "Create VAT code",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vat-codes",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vat-codes"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"REDUCED\",\n  \"name\": {\n    \"en\": \"Reduced 5%\",\n    \"ar\": \"مخفض 5%\"\n  },\n  \"rate\": 0.05,\n  \"applies_to\": [\n    \"sales\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 5,\n    \"code\": \"REDUCED\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Get VAT view",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vat?period=2026-Q2",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vat"
                  ],
                  "query": [
                    {
                      "key": "period",
                      "value": "2026-Q2"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"period\": \"2026-Q2\",\n    \"output_vat\": 12340,\n    \"input_vat\": 4500,\n    \"adjustments\": 0,\n    \"net_payable\": 7840,\n    \"breakdown\": [\n      {\n        \"code\": \"STD\",\n        \"sales_net\": 82266.67,\n        \"sales_vat\": 12340,\n        \"purchases_net\": 30000,\n        \"purchases_vat\": 4500\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "File VAT return (ZATCA)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vat/file",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vat",
                    "file"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"period\": \"2026-Q2\",\n  \"confirm\": true,\n  \"declarant_id\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "202 Accepted",
                  "originalRequest": {},
                  "status": "Accepted",
                  "code": 202,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"filing_id\": 88,\n    \"status\": \"submitted\",\n    \"zatca_uuid\": \"...\"\n  }\n}"
                }
              ]
            },
            {
              "name": "ZATCA invoice clearance status",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/zatca/invoices/{sale_id}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "zatca",
                    "invoices",
                    "{sale_id}"
                  ],
                  "variable": [
                    {
                      "key": "sale_id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"sale_id\": 50001,\n    \"phase\": \"phase_2\",\n    \"uuid\": \"...\",\n    \"qr\": \"data:...\",\n    \"status\": \"cleared\",\n    \"hash\": \"...\",\n    \"icv\": 42,\n    \"prev_hash\": \"...\"\n  }\n}"
                }
              ]
            },
            {
              "name": "ZATCA submission queue (B2B)",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/zatca/queue?status=pending",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "zatca",
                    "queue"
                  ],
                  "query": [
                    {
                      "key": "status",
                      "value": "pending"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"sale_id\": 50100,\n      \"attempts\": 1,\n      \"last_error\": null,\n      \"next_retry_at\": \"...\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.5 — Customers & AR",
          "description": "",
          "item": [
            {
              "name": "List customers (accounting)",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/customers?q=ali&has_balance=true",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "customers"
                  ],
                  "query": [
                    {
                      "key": "q",
                      "value": "ali"
                    },
                    {
                      "key": "has_balance",
                      "value": "true"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 55,\n      \"name\": \"Ali Q.\",\n      \"vat_number\": \"3001...\",\n      \"payment_terms_days\": 30,\n      \"ar_balance\": 12500,\n      \"overdue_30\": 4200,\n      \"credit_limit\": 50000\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Customer ledger",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/customers/{id}/ledger?from=2026-04-01&to=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "customers",
                    "{id}",
                    "ledger"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"customer_id\": 55,\n    \"opening\": 0,\n    \"closing\": 12500,\n    \"lines\": [\n      {\n        \"date\": \"2026-04-05\",\n        \"doc_kind\": \"invoice\",\n        \"doc_no\": \"INV-1001\",\n        \"debit\": 14000,\n        \"credit\": 0,\n        \"balance\": 14000\n      },\n      {\n        \"date\": \"2026-04-22\",\n        \"doc_kind\": \"receipt\",\n        \"doc_no\": \"RCP-22\",\n        \"debit\": 0,\n        \"credit\": 1500,\n        \"balance\": 12500\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Customer statement (PDF)",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/customers/{id}/statement?as_of=2026-04-30&format=pdf",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "customers",
                    "{id}",
                    "statement"
                  ],
                  "query": [
                    {
                      "key": "as_of",
                      "value": "2026-04-30"
                    },
                    {
                      "key": "format",
                      "value": "pdf"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"download_url\": \"https://.../stmt.pdf\",\n    \"expires_in\": 600\n  }\n}"
                }
              ]
            },
            {
              "name": "AR aging report",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/ar/aging?as_of=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "ar",
                    "aging"
                  ],
                  "query": [
                    {
                      "key": "as_of",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"buckets\": [\n      \"current\",\n      \"1-30\",\n      \"31-60\",\n      \"61-90\",\n      \"90+\"\n    ],\n    \"rows\": [\n      {\n        \"customer_id\": 55,\n        \"name\": \"Ali Q.\",\n        \"current\": 8300,\n        \"b1_30\": 4200,\n        \"b31_60\": 0,\n        \"b61_90\": 0,\n        \"b90_plus\": 0,\n        \"total\": 12500\n      }\n    ],\n    \"totals\": {\n      \"current\": 8300,\n      \"b1_30\": 4200,\n      \"b31_60\": 0,\n      \"b61_90\": 0,\n      \"b90_plus\": 0,\n      \"total\": 12500\n    }\n  }\n}"
                }
              ]
            },
            {
              "name": "Receive customer payment (Collect)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/receipts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "receipts"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"customer_id\": 55,\n  \"received_at\": \"2026-04-26\",\n  \"amount\": 1500,\n  \"method\": \"bank_transfer\",\n  \"deposit_account_code\": \"1101\",\n  \"apply_to\": [\n    {\n      \"invoice_id\": 1001,\n      \"amount\": 1500\n    }\n  ],\n  \"note\": \"Partial payment\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 222,\n    \"journal_entry_id\": 1305\n  }\n}"
                }
              ]
            },
            {
              "name": "Customer credit note",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/credit-notes",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "credit-notes"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"customer_id\": 55,\n  \"sale_id\": 50001,\n  \"lines\": [\n    {\n      \"account_code\": \"4000\",\n      \"amount\": 200,\n      \"vat_code\": \"STD\"\n    }\n  ],\n  \"reason\": \"goodwill\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 9,\n    \"journal_entry_id\": 1310\n  }\n}"
                }
              ]
            },
            {
              "name": "Apply credit / write-off",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/customers/{id}/write-off",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "customers",
                    "{id}",
                    "write-off"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"amount\": 500,\n  \"account_code\": \"5990\",\n  \"reason\": \"uncollectible\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"journal_entry_id\": 1315\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.6 — Vendors & AP",
          "description": "",
          "item": [
            {
              "name": "List vendors (accounting)",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vendors?q=almarai",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vendors"
                  ],
                  "query": [
                    {
                      "key": "q",
                      "value": "almarai"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 12,\n      \"name\": \"Almarai Co.\",\n      \"vat_number\": \"300...\",\n      \"payment_terms_days\": 30,\n      \"ap_balance\": 28400,\n      \"due_within_7d\": 12000\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Vendor ledger",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vendors/{id}/ledger?from=2026-04-01&to=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vendors",
                    "{id}",
                    "ledger"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"vendor_id\": 12,\n    \"opening\": 0,\n    \"closing\": 28400,\n    \"lines\": [\n      {\n        \"date\": \"2026-04-02\",\n        \"doc_kind\": \"bill\",\n        \"doc_no\": \"INV-001\",\n        \"debit\": 0,\n        \"credit\": 30000,\n        \"balance\": 30000\n      },\n      {\n        \"date\": \"2026-04-20\",\n        \"doc_kind\": \"payment\",\n        \"doc_no\": \"PMT-12\",\n        \"debit\": 1600,\n        \"credit\": 0,\n        \"balance\": 28400\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "AP aging report",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/ap/aging?as_of=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "ap",
                    "aging"
                  ],
                  "query": [
                    {
                      "key": "as_of",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"buckets\": [\n      \"current\",\n      \"1-30\",\n      \"31-60\",\n      \"61-90\",\n      \"90+\"\n    ],\n    \"rows\": [\n      {\n        \"vendor_id\": 12,\n        \"current\": 18400,\n        \"b1_30\": 10000,\n        \"b31_60\": 0,\n        \"b61_90\": 0,\n        \"b90_plus\": 0,\n        \"total\": 28400\n      }\n    ],\n    \"totals\": {\n      \"current\": 18400,\n      \"b1_30\": 10000,\n      \"total\": 28400\n    }\n  }\n}"
                }
              ]
            },
            {
              "name": "Pay vendor (Pay)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "payments"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"vendor_id\": 12,\n  \"paid_at\": \"2026-04-26\",\n  \"amount\": 12000,\n  \"method\": \"bank_transfer\",\n  \"from_account_code\": \"1101\",\n  \"apply_to\": [\n    {\n      \"supplier_invoice_id\": 1,\n      \"amount\": 12000\n    }\n  ],\n  \"note\": \"Apr settlement\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 333,\n    \"journal_entry_id\": 1320\n  }\n}"
                }
              ]
            },
            {
              "name": "Debit note (vendor)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vendor-debit-notes",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vendor-debit-notes"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"vendor_id\": 12,\n  \"amount\": 500,\n  \"reason\": \"damaged_goods\",\n  \"grn_id\": 8001\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 5,\n    \"journal_entry_id\": 1325\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.7 — Journal & GL",
          "description": "",
          "item": [
            {
              "name": "List journal entries",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/journal-entries?from=2026-04-01&to=2026-04-30&kind=all",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "journal-entries"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    },
                    {
                      "key": "kind",
                      "value": "all"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1240,\n      \"kind\": \"grn\",\n      \"source\": {\n        \"type\": \"goods_receipt\",\n        \"id\": 8001\n      },\n      \"posted_at\": \"2026-04-01T08:01:00Z\",\n      \"memo\": \"GRN #8001 — Almarai\",\n      \"total\": 600,\n      \"balanced\": true,\n      \"locked\": false\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Get journal entry",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/journal-entries/{id}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "journal-entries",
                    "{id}"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 1240,\n    \"kind\": \"grn\",\n    \"posted_at\": \"2026-04-01T08:01:00Z\",\n    \"lines\": [\n      {\n        \"account_code\": \"1300\",\n        \"debit\": 600,\n        \"credit\": 0,\n        \"memo\": \"Inventory in\",\n        \"dimensions\": {\n          \"branch_id\": 1\n        }\n      },\n      {\n        \"account_code\": \"2110\",\n        \"debit\": 0,\n        \"credit\": 600,\n        \"memo\": \"AP — Almarai\",\n        \"dimensions\": {\n          \"branch_id\": 1\n        }\n      }\n    ],\n    \"attachments\": [\n      {\n        \"url\": \"...\",\n        \"kind\": \"grn_pdf\"\n      }\n    ],\n    \"audit\": [\n      {\n        \"at\": \"...\",\n        \"by\": 1,\n        \"action\": \"posted\"\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Manual journal entry (post)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/journal-entries",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "journal-entries"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"memo\": \"Adjust prepaid rent\",\n  \"posted_at\": \"2026-04-26\",\n  \"lines\": [\n    {\n      \"account_code\": \"5100\",\n      \"debit\": 5000,\n      \"credit\": 0,\n      \"dimensions\": {\n        \"branch_id\": 1,\n        \"cost_center\": \"HQ\"\n      }\n    },\n    {\n      \"account_code\": \"1300\",\n      \"debit\": 0,\n      \"credit\": 5000,\n      \"dimensions\": {\n        \"branch_id\": 1\n      }\n    }\n  ],\n  \"attachments\": [\n    {\n      \"url\": \"https://.../voucher.pdf\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "422 if not balanced (sum debits ≠ sum credits) or any account is parent/archived."
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 1500,\n    \"balanced\": true\n  }\n}"
                }
              ]
            },
            {
              "name": "Reverse journal entry",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/journal-entries/{id}/reverse",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "journal-entries",
                    "{id}",
                    "reverse"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"reason\": \"input error\",\n  \"reverse_at\": \"2026-04-26\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 1501,\n    \"reverses\": 1500\n  }\n}"
                }
              ]
            },
            {
              "name": "Adjust journal entry (manager-only)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/journal-entries/{id}/adjust",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "journal-entries",
                    "{id}",
                    "adjust"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"line_changes\": [\n    {\n      \"line_id\": 1,\n      \"debit\": 5500,\n      \"credit\": 0\n    }\n  ],\n  \"manager_pin\": \"{{managerPin}}\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "description": "Always creates an audit trail; original kept."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 1500,\n    \"version\": 2\n  }\n}"
                }
              ]
            },
            {
              "name": "GL — single account",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/gl?account_code=1101&from=2026-04-01&to=2026-04-30&dimensions[branch_id]=1",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "gl"
                  ],
                  "query": [
                    {
                      "key": "account_code",
                      "value": "1101"
                    },
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    },
                    {
                      "key": "dimensions[branch_id]",
                      "value": "1"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"account_code\": \"1101\",\n    \"opening\": 284650,\n    \"closing\": 412340.5,\n    \"lines\": [\n      {\n        \"je_id\": 1305,\n        \"date\": \"2026-04-26\",\n        \"doc_no\": \"RCP-22\",\n        \"debit\": 1500,\n        \"credit\": 0,\n        \"balance\": 286150\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "GL — bulk export",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/gl/export?from=2026-04-01&to=2026-04-30&format=xlsx",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "gl",
                    "export"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    },
                    {
                      "key": "format",
                      "value": "xlsx"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"download_url\": \"https://.../gl.xlsx\",\n    \"expires_in\": 600\n  }\n}"
                }
              ]
            },
            {
              "name": "Recurring JE list",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/recurring-je",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "recurring-je"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Monthly rent\",\n      \"cadence\": \"monthly\",\n      \"next_run\": \"2026-05-01\",\n      \"template_je\": 1500\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Create recurring JE",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/recurring-je",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "recurring-je"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Monthly rent\",\n  \"cadence\": \"monthly\",\n  \"starts_on\": \"2026-05-01\",\n  \"ends_on\": null,\n  \"template_je_id\": 1500\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 2\n  }\n}"
                }
              ]
            },
            {
              "name": "Manual journal entry (root alias)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/journal-entries",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "journal-entries"
                  ],
                  "variable": []
                },
                "description": "Convenience root-namespace alias for `POST /accounting/journal-entries`. Behaviour and validation are identical; routed to the same controller. Provided because BACKEND-MAPPING and several upstream callers refer to the bare `/journal-entries` path.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"date\": \"2026-04-26\",\n  \"memo\": {\n    \"en\": \"Reclass marketing expense\",\n    \"ar\": \"إعادة تصنيف مصاريف التسويق\"\n  },\n  \"lines\": [\n    {\n      \"account_code\": \"5210\",\n      \"debit\": 1200,\n      \"credit\": 0,\n      \"cost_center\": \"CC-MKT\",\n      \"project\": null\n    },\n    {\n      \"account_code\": \"5220\",\n      \"debit\": 0,\n      \"credit\": 1200,\n      \"cost_center\": \"CC-MKT\",\n      \"project\": null\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 14210,\n    \"status\": \"posted\",\n    \"balanced\": true,\n    \"period\": \"2026-04\"\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.8 — Vouchers (CR / CP / JV)",
          "description": "",
          "item": [
            {
              "name": "List voucher types",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/voucher-types",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "voucher-types"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"code\": \"CR\",\n      \"name\": {\n        \"en\": \"Cash Receipt\",\n        \"ar\": \"سند قبض\"\n      },\n      \"default_offset\": \"4xxx\"\n    },\n    {\n      \"code\": \"CP\",\n      \"name\": {\n        \"en\": \"Cash Payment\",\n        \"ar\": \"سند صرف\"\n      },\n      \"default_offset\": \"5xxx\"\n    },\n    {\n      \"code\": \"JV\",\n      \"name\": {\n        \"en\": \"Journal Voucher\",\n        \"ar\": \"قيد يدوي\"\n      },\n      \"default_offset\": null\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 3\n  }\n}"
                }
              ]
            },
            {
              "name": "Create cash receipt (CR)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vouchers/cr",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vouchers",
                    "cr"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"received_at\": \"2026-04-26\",\n  \"counter_account_code\": \"1011\",\n  \"offset_account_code\": \"4000\",\n  \"party_type\": \"customer\",\n  \"party_id\": 55,\n  \"amount\": 230,\n  \"vat_code\": \"STD\",\n  \"memo\": \"Walk-in service\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"voucher_no\": \"CR-2026-0001\",\n    \"journal_entry_id\": 1530\n  }\n}"
                }
              ]
            },
            {
              "name": "Create cash payment (CP)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/vouchers/cp",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "vouchers",
                    "cp"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"paid_at\": \"2026-04-26\",\n  \"counter_account_code\": \"1011\",\n  \"offset_account_code\": \"5210\",\n  \"party_type\": \"vendor\",\n  \"party_id\": 12,\n  \"amount\": 480,\n  \"vat_code\": \"STD\",\n  \"memo\": \"Office supplies\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"voucher_no\": \"CP-2026-0001\",\n    \"journal_entry_id\": 1535\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.9 — Banking",
          "description": "",
          "item": [
            {
              "name": "List bank accounts",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/bank-accounts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "bank-accounts"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"account_code\": \"1101\",\n      \"iban\": \"SA0380000000608010167519\",\n      \"currency\": \"SAR\",\n      \"balance\": 284650\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Create bank account",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/bank-accounts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "bank-accounts"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"account_code\": \"1105\",\n  \"iban\": \"SA00...\",\n  \"swift\": \"...\",\n  \"currency\": \"SAR\",\n  \"initial_balance\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 5\n  }\n}"
                }
              ]
            },
            {
              "name": "Import bank statement",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/bank/{id}/statements/import",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "bank",
                    "{id}",
                    "statements",
                    "import"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"format\": \"camt053\",\n  \"file_url\": \"https://.../stmt.xml\",\n  \"from\": \"2026-04-01\",\n  \"to\": \"2026-04-30\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "202 Accepted",
                  "originalRequest": {},
                  "status": "Accepted",
                  "code": 202,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"statement_id\": 22,\n    \"lines_imported\": 184\n  }\n}"
                }
              ]
            },
            {
              "name": "List statement lines",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/bank/statements/{id}/lines?status=unmatched",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "bank",
                    "statements",
                    "{id}",
                    "lines"
                  ],
                  "query": [
                    {
                      "key": "status",
                      "value": "unmatched"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"value_date\": \"2026-04-26\",\n      \"description\": \"DEP-1\",\n      \"amount\": 12340.5,\n      \"status\": \"unmatched\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Auto-match suggestions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/bank/statements/{id}/suggestions",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "bank",
                    "statements",
                    "{id}",
                    "suggestions"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"line_id\": 1,\n      \"candidates\": [\n        {\n          \"je_id\": 1305,\n          \"score\": 0.92\n        },\n        {\n          \"je_id\": 1306,\n          \"score\": 0.41\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Match statement line → JE",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/bank/lines/{id}/match",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "bank",
                    "lines",
                    "{id}",
                    "match"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"je_id\": 1305,\n  \"confidence\": \"manual\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"line_id\": 1,\n    \"status\": \"matched\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Unmatch",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/bank/lines/{id}/unmatch",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "bank",
                    "lines",
                    "{id}",
                    "unmatch"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"line_id\": 1,\n    \"status\": \"unmatched\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Bank reconcile (close batch)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/bank/reconcile",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "bank",
                    "reconcile"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"bank_account_id\": 1,\n  \"period\": \"2026-04\",\n  \"closing_balance\": 412340.5\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"matched\": 184,\n    \"unmatched\": 0,\n    \"reconciled_at\": \"...\",\n    \"journal_entry_id\": 1700\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.10 — Dimensions (cost centers, projects)",
          "description": "",
          "item": [
            {
              "name": "List dimension types",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/dimensions",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "dimensions"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"code\": \"branch\",\n      \"name\": {\n        \"en\": \"Branch\",\n        \"ar\": \"الفرع\"\n      },\n      \"required_on\": [\n        \"sales\",\n        \"grn\",\n        \"wastage\"\n      ]\n    },\n    {\n      \"code\": \"cost_center\",\n      \"name\": {\n        \"en\": \"Cost Center\",\n        \"ar\": \"مركز التكلفة\"\n      },\n      \"required_on\": [\n        \"expenses\"\n      ]\n    },\n    {\n      \"code\": \"project\",\n      \"name\": {\n        \"en\": \"Project\",\n        \"ar\": \"المشروع\"\n      },\n      \"required_on\": []\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 3\n  }\n}"
                }
              ]
            },
            {
              "name": "List dimension values",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/dimensions/{code}/values",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "dimensions",
                    "{code}",
                    "values"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"code\": \"HQ\",\n      \"name\": {\n        \"en\": \"Head Office\",\n        \"ar\": \"المكتب الرئيسي\"\n      }\n    },\n    {\n      \"id\": 2,\n      \"code\": \"OLAYA\",\n      \"name\": {\n        \"en\": \"Olaya\",\n        \"ar\": \"العليا\"\n      }\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
                }
              ]
            },
            {
              "name": "Create dimension value",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/dimensions/{code}/values",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "dimensions",
                    "{code}",
                    "values"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"PROJ-2026-A\",\n  \"name\": {\n    \"en\": \"Q2 Renovation\",\n    \"ar\": \"تجديد الربع الثاني\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 88\n  }\n}"
                }
              ]
            },
            {
              "name": "Update dimension settings",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/dimensions/{code}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "dimensions",
                    "{code}"
                  ],
                  "variable": [
                    {
                      "key": "code",
                      "value": ""
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"required_on\": [\n    \"expenses\",\n    \"manual_je\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"code\": \"cost_center\"\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.11 — Financial reports",
          "description": "",
          "item": [
            {
              "name": "Trial balance",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/reports/trial-balance?as_of=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "reports",
                    "trial-balance"
                  ],
                  "query": [
                    {
                      "key": "as_of",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"as_of\": \"2026-04-30\",\n    \"rows\": [\n      {\n        \"code\": \"1101\",\n        \"name\": {\n          \"en\": \"Riyad Bank · Operating\",\n          \"ar\": \"بنك الرياض · تشغيلي\"\n        },\n        \"debit\": 412340.5,\n        \"credit\": 0\n      },\n      {\n        \"code\": \"3000\",\n        \"name\": {\n          \"en\": \"Owner equity\",\n          \"ar\": \"حقوق الملكية\"\n        },\n        \"debit\": 0,\n        \"credit\": 250000\n      }\n    ],\n    \"totals\": {\n      \"debit\": 1240850,\n      \"credit\": 1240850,\n      \"balanced\": true\n    }\n  }\n}"
                }
              ]
            },
            {
              "name": "P&L",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/reports/pl?from=2026-04-01&to=2026-04-30&dimensions[branch_id]=1",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "reports",
                    "pl"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    },
                    {
                      "key": "dimensions[branch_id]",
                      "value": "1"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"revenue\": 144000,\n    \"cogs\": 78000,\n    \"gross_profit\": 66000,\n    \"opex\": 22000,\n    \"ebitda\": 44000,\n    \"other\": 0,\n    \"net\": 44000,\n    \"sections\": [\n      {\n        \"code\": \"4000\",\n        \"name\": {\n          \"en\": \"Revenue\",\n          \"ar\": \"الإيرادات\"\n        },\n        \"total\": 144000,\n        \"lines\": []\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Balance Sheet",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/reports/bs?as_of=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "reports",
                    "bs"
                  ],
                  "query": [
                    {
                      "key": "as_of",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"assets\": 540000,\n    \"liabilities\": 180000,\n    \"equity\": 360000,\n    \"sections\": [\n      {\n        \"key\": \"assets_current\",\n        \"total\": 312340,\n        \"rows\": [\n          {\n            \"code\": \"1101\",\n            \"balance\": 284650\n          }\n        ]\n      }\n    ]\n  }\n}"
                }
              ]
            },
            {
              "name": "Cashflow statement",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/reports/cashflow?period=2026-04&method=indirect",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "reports",
                    "cashflow"
                  ],
                  "query": [
                    {
                      "key": "period",
                      "value": "2026-04"
                    },
                    {
                      "key": "method",
                      "value": "indirect"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"operating\": 41000,\n    \"investing\": -5000,\n    \"financing\": -10000,\n    \"net_change\": 26000\n  }\n}"
                }
              ]
            },
            {
              "name": "Statement of changes in equity",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/reports/equity?from=2026-01-01&to=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "reports",
                    "equity"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-01-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"opening_equity\": 350000,\n    \"retained\": 10000,\n    \"dividends\": 0,\n    \"other\": 0,\n    \"closing\": 360000\n  }\n}"
                }
              ]
            },
            {
              "name": "Account drill-down",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/reports/drill?account_code=4000&from=2026-04-01&to=2026-04-30",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "reports",
                    "drill"
                  ],
                  "query": [
                    {
                      "key": "account_code",
                      "value": "4000"
                    },
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"account_code\": \"4000\",\n    \"total\": 144000,\n    \"lines\": [\n      {\n        \"je_id\": 1240,\n        \"date\": \"2026-04-01\",\n        \"debit\": 0,\n        \"credit\": 600,\n        \"doc_no\": \"INV-001\"\n      }\n    ]\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.12 — Settings & integrations",
          "description": "",
          "item": [
            {
              "name": "Get accounting settings",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/settings",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "settings"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"base_currency\": \"SAR\",\n    \"multi_currency\": false,\n    \"rounding_account\": \"5990\",\n    \"retained_earnings_account\": \"3200\",\n    \"vat_payable_account\": \"2210\",\n    \"vat_input_account\": \"1410\",\n    \"ar_control_account\": \"1210\",\n    \"ap_control_account\": \"2110\",\n    \"cogs_default_account\": \"5000\",\n    \"inventory_control_account\": \"1300\"\n  }\n}"
                }
              ]
            },
            {
              "name": "Update accounting settings",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/settings",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "settings"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"rounding_account\": \"5995\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"rounding_account\": \"5995\"\n  }\n}"
                }
              ]
            },
            {
              "name": "List currencies",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/currencies",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "currencies"
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"code\": \"SAR\",\n      \"name\": \"Saudi Riyal\",\n      \"is_base\": true\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "FX rates",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/fx-rates?from=2026-04-01&to=2026-04-30&pair=USD/SAR",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "fx-rates"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    },
                    {
                      "key": "to",
                      "value": "2026-04-30"
                    },
                    {
                      "key": "pair",
                      "value": "USD/SAR"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"date\": \"2026-04-26\",\n      \"pair\": \"USD/SAR\",\n      \"rate\": 3.7501\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Set FX rate (manual)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/fx-rates",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "fx-rates"
                  ],
                  "variable": []
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"date\": \"2026-04-26\",\n  \"pair\": \"USD/SAR\",\n  \"rate\": 3.7501\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "201 Created",
                  "originalRequest": {},
                  "status": "Created",
                  "code": 201,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Posting bridges status",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/posting-bridges",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "posting-bridges"
                  ],
                  "variable": []
                },
                "description": "All Postable sources (BACKEND-MAPPING §17). Maps live in `accounting/settings`."
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"source\": \"sales\",\n      \"service\": \"Accounting\\\\Posting\\\\PostSaleService\",\n      \"account_map_set\": true\n    },\n    {\n      \"source\": \"grn\",\n      \"service\": \"Accounting\\\\Posting\\\\PostGrnService\",\n      \"account_map_set\": true\n    },\n    {\n      \"source\": \"wastage\",\n      \"service\": \"Accounting\\\\Posting\\\\PostWastageService\",\n      \"account_map_set\": true\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 3\n  }\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "17.13 — Audit trail",
          "description": "",
          "item": [
            {
              "name": "List audit events",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/audit?entity=journal_entry&from=2026-04-01",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "audit"
                  ],
                  "query": [
                    {
                      "key": "entity",
                      "value": "journal_entry"
                    },
                    {
                      "key": "from",
                      "value": "2026-04-01"
                    }
                  ],
                  "variable": []
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"at\": \"2026-04-26T10:00:00Z\",\n      \"actor_id\": 1,\n      \"action\": \"posted\",\n      \"entity\": \"journal_entry\",\n      \"entity_id\": 1500,\n      \"diff\": {}\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
                }
              ]
            },
            {
              "name": "Audit on a single entity",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept-Language",
                    "value": "{{locale}}"
                  },
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/accounting/audit/{entity}/{id}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounting",
                    "audit",
                    "{entity}",
                    "{id}"
                  ],
                  "variable": [
                    {
                      "key": "entity",
                      "value": ""
                    },
                    {
                      "key": "id",
                      "value": ""
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 OK",
                  "originalRequest": {},
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"action\": \"posted\",\n      \"at\": \"...\",\n      \"actor_id\": 1\n    },\n    {\n      \"id\": 2,\n      \"action\": \"adjusted\",\n      \"at\": \"...\",\n      \"actor_id\": 2,\n      \"diff\": {\n        \"lines.0.debit\": [\n          5000,\n          5500\n        ]\n      }\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "18 — HR",
      "description": "",
      "item": [
        {
          "name": "List employees",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/employees",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "employees"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Mona\",\n      \"title\": \"Cashier\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create employee",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/employees",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "employees"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Mona\",\n  \"iqama_or_id\": \"1234567890\",\n  \"title\": \"Cashier\",\n  \"branch_id\": 1\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "List jobs (ATS)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/jobs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "jobs"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"title\": \"Barista\",\n      \"status\": \"open\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Candidates",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/candidates?job_id=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "candidates"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"...\",\n      \"stage\": \"interview\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create contract",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/contracts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "contracts"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"employee_id\": 1,\n  \"gross_salary\": 5000,\n  \"allowances\": [\n    {\n      \"type\": \"transport\",\n      \"amount\": 500\n    }\n  ],\n  \"starts_on\": \"2026-05-01\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Policies",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/policies",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "policies"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"key\": \"leave_policy\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Reviews",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/reviews",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "reviews"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"employee_id\": 1,\n      \"score\": 4\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Goals",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/goals",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "goals"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"employee_id\": 1,\n      \"title\": \"...\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "1-on-1s",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/1-1s",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "1-1s"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"employee_id\": 1,\n      \"date\": \"2026-04-20\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Courses",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/courses",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "courses"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"title\": \"Food Safety\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Enrollments",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/enrollments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "enrollments"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"course_id\": 1,\n  \"employee_id\": 1\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Loans",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/loans",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "loans"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"employee_id\": 1,\n  \"principal\": 3000,\n  \"installments\": 6\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"journal_entry_id\": 1600\n  }\n}"
            }
          ]
        },
        {
          "name": "Expenses",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/expenses",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "expenses"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"employee_id\": 1,\n  \"amount\": 75,\n  \"category\": \"transport\",\n  \"receipt_url\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Helpdesk tickets",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/tickets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "tickets"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"topic\": \"leave_balance\",\n  \"body\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Assets",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/assets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "assets"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"kind\": \"laptop\",\n      \"serial\": \"...\",\n      \"assigned_to\": 1\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Payroll run",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hr/payroll/runs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hr",
                "payroll",
                "runs"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"period\": \"2026-04\",\n  \"branch_ids\": [\n    1,\n    2\n  ],\n  \"dry_run\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 4,\n    \"lines\": 142,\n    \"gross_total\": 488000,\n    \"net_total\": 412300,\n    \"journal_entry_id\": 1700\n  }\n}"
            }
          ]
        },
        {
          "name": "ESS",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me/ess",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "ess"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"payslips\": [\n      {\n        \"period\": \"2026-03\",\n        \"net\": 4350\n      }\n    ],\n    \"leave_balance\": 14,\n    \"contract\": {\n      \"id\": 1\n    }\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "19 — Platform & Billing",
      "description": "",
      "item": [
        {
          "name": "Tenants list",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants?status=active",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 12,\n      \"name\": \"Acme\",\n      \"status\": \"active\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Tenant drawer",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants",
                "{id}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"active\",\n    \"subscription\": {\n      \"plan_code\": \"growth_v1\",\n      \"mrr\": 1499\n    },\n    \"mrr_history\": []\n  }\n}"
            }
          ]
        },
        {
          "name": "Suspend tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants/{id}/suspend",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants",
                "{id}",
                "suspend"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"non_payment\",\n  \"grace_until\": \"2026-05-10\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"suspended\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Reactivate tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants/{id}/reactivate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants",
                "{id}",
                "reactivate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"paid\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 12,\n    \"status\": \"active\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Impersonate",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants/{id}/impersonate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants",
                "{id}",
                "impersonate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"justification\": \"support_ticket_88\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"token\": \"imp|...\",\n    \"expires_in\": 900\n  }\n}"
            }
          ]
        },
        {
          "name": "List plans",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/plans",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "plans"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"code\": \"growth_v1\",\n      \"name\": \"Growth\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Quote subscription change",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants/{id}/quote",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants",
                "{id}",
                "quote"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"plan_code\": \"scale_v1\",\n  \"addons\": [\n    {\n      \"code\": \"extra_branch\",\n      \"qty\": 2\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"proration\": 412.5,\n    \"next_invoice_total\": 2499\n  }\n}"
            }
          ]
        },
        {
          "name": "Apply subscription change",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/tenants/{id}/subscription",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "tenants",
                "{id}",
                "subscription"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"plan_code\": \"scale_v1\",\n  \"confirm_quote_id\": \"q_xx\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"tenant_id\": 12,\n    \"invoice_id\": 5001\n  }\n}"
            }
          ]
        },
        {
          "name": "Pay platform invoice (tenant side)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me/invoices/{id}/pay",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me",
                "invoices",
                "{id}",
                "pay"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"method\": \"bank_transfer\",\n  \"reference\": \"...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 5001,\n    \"status\": \"paid\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Support tickets",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/support/tickets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "support",
                "tickets"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"subject\": \"POS slow\",\n      \"status\": \"open\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Create support ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/support/tickets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "support",
                "tickets"
              ],
              "variable": []
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"subject\": \"POS slow\",\n  \"body\": \"...\",\n  \"priority\": \"normal\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {},
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Health overview",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/health",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "health"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"services\": [\n      {\n        \"name\": \"api\",\n        \"status\": \"ok\",\n        \"latency_ms\": 88\n      },\n      {\n        \"name\": \"kds_ws\",\n        \"status\": \"degraded\"\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Incident transition",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/incidents/{id}/{action}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "incidents",
                "{id}",
                "{action}"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                },
                {
                  "key": "action",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"update\": \"Investigating root cause.\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "action ∈ {acknowledge, investigate, mitigate, resolve}."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 1,\n    \"status\": \"investigating\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Promote release",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/releases/{id}/promote",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "releases",
                "{id}",
                "promote"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ring\": \"ring_2\",\n  \"percent\": 25\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9,\n    \"ring\": \"ring_2\",\n    \"percent\": 25\n  }\n}"
            }
          ]
        },
        {
          "name": "Rollback release",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/platform/releases/{id}/rollback",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "platform",
                "releases",
                "{id}",
                "rollback"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"p1_regression\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"id\": 9,\n    \"status\": \"rolled_back\",\n    \"incident_id\": 12\n  }\n}"
            }
          ]
        },
        {
          "name": "Feature flags",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/feature-flags",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "feature-flags"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"key\": \"frictionless_v2\",\n      \"default\": false\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Update feature flag",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "X-Platform-Token",
                "value": "Bearer {{platformToken}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/feature-flags/{key}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "feature-flags",
                "{key}"
              ],
              "variable": [
                {
                  "key": "key",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"default\": true,\n  \"assignments\": [\n    {\n      \"tenant_id\": 12,\n      \"value\": true\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"key\": \"frictionless_v2\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "20 — Reports",
      "description": "Read-models, populated by ReportsRefreshJob (incremental hourly + full nightly).",
      "item": [
        {
          "name": "Sales — daily",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/daily?from=2026-04-01&to=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "daily"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"date\": \"2026-04-26\",\n      \"net\": 12340.5,\n      \"vat\": 1851.07,\n      \"txns\": 184\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — by channel",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/by-channel?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "by-channel"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"channel\": \"pos\",\n      \"net\": 88000\n    },\n    {\n      \"channel\": \"ecom\",\n      \"net\": 12000\n    },\n    {\n      \"channel\": \"aggregator\",\n      \"net\": 4500\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 3\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — by staff",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/by-staff?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "by-staff"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"staff_id\": 1,\n      \"net\": 22000,\n      \"txns\": 412\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — weekly",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/weekly?from=2026-01-01&to=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "weekly"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "2026-01-01"
                },
                {
                  "key": "to",
                  "value": "2026-04-30"
                }
              ],
              "variable": []
            },
            "description": "Sales rolled up by ISO week. Used by reports-bi \"Trend\" pack."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"week\": \"2026-W17\",\n      \"net\": 88450.5,\n      \"vat\": 13267.58,\n      \"txns\": 1240\n    },\n    {\n      \"week\": \"2026-W18\",\n      \"net\": 91230,\n      \"vat\": 13684.5,\n      \"txns\": 1305\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — monthly",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/monthly?from=2026-01&to=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "monthly"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "2026-01"
                },
                {
                  "key": "to",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Sales rolled up by calendar month."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"month\": \"2026-01\",\n      \"net\": 312400,\n      \"vat\": 46860,\n      \"txns\": 4820\n    },\n    {\n      \"month\": \"2026-02\",\n      \"net\": 298100,\n      \"vat\": 44715,\n      \"txns\": 4612\n    },\n    {\n      \"month\": \"2026-03\",\n      \"net\": 341270,\n      \"vat\": 51190.5,\n      \"txns\": 5102\n    },\n    {\n      \"month\": \"2026-04\",\n      \"net\": 358900,\n      \"vat\": 53835,\n      \"txns\": 5380\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 4\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — by product",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/by-product?period=2026-04&limit=100",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "by-product"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "limit",
                  "value": "100"
                }
              ],
              "variable": []
            },
            "description": "Top products by revenue/qty for the period."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"product_id\": 101,\n      \"sku\": \"BURG-CLASSIC\",\n      \"name\": {\n        \"en\": \"Classic Burger\",\n        \"ar\": \"برجر كلاسيك\"\n      },\n      \"qty\": 412,\n      \"net\": 18540,\n      \"margin_pct\": 0.62\n    },\n    {\n      \"product_id\": 207,\n      \"sku\": \"COLA-330\",\n      \"name\": {\n        \"en\": \"Cola 330ml\",\n        \"ar\": \"كولا ٣٣٠مل\"\n      },\n      \"qty\": 980,\n      \"net\": 4900,\n      \"margin_pct\": 0.71\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — by category",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/by-category?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "by-category"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Sales aggregated by catalog category."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"category_id\": 4,\n      \"name\": {\n        \"en\": \"Burgers\",\n        \"ar\": \"برجر\"\n      },\n      \"net\": 48200,\n      \"qty\": 1240\n    },\n    {\n      \"category_id\": 7,\n      \"name\": {\n        \"en\": \"Beverages\",\n        \"ar\": \"مشروبات\"\n      },\n      \"net\": 18430,\n      \"qty\": 3120\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — by branch",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/by-branch?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "by-branch"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Sales aggregated per branch — used in Branches comparison."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"branch_id\": 1,\n      \"name\": {\n        \"en\": \"Riyadh-Olaya\",\n        \"ar\": \"الرياض - العليا\"\n      },\n      \"net\": 188450,\n      \"txns\": 2840,\n      \"avg_ticket\": 66.4\n    },\n    {\n      \"branch_id\": 2,\n      \"name\": {\n        \"en\": \"Jeddah-Tahlia\",\n        \"ar\": \"جدة - التحلية\"\n      },\n      \"net\": 142300,\n      \"txns\": 2120,\n      \"avg_ticket\": 67.1\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — by hour (heatmap)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/by-hour?period=2026-04&branch_id=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "by-hour"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "branch_id",
                  "value": "1"
                }
              ],
              "variable": []
            },
            "description": "Hour-of-day × day-of-week heatmap. Powers staffing decisions."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"dow\": 0,\n      \"hour\": 12,\n      \"net\": 1240,\n      \"txns\": 22\n    },\n    {\n      \"dow\": 0,\n      \"hour\": 13,\n      \"net\": 1820,\n      \"txns\": 31\n    },\n    {\n      \"dow\": 5,\n      \"hour\": 20,\n      \"net\": 4120,\n      \"txns\": 68\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 168\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — discounts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/discounts?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "discounts"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Discount usage by reason / promo / staff. Surfaces over-discounting."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"reason\": \"manager_override\",\n      \"count\": 14,\n      \"amount\": 480\n    },\n    {\n      \"promo_id\": 3,\n      \"name\": {\n        \"en\": \"Buy 1 Get 1\",\n        \"ar\": \"اشترِ ١ واحصل على ١\"\n      },\n      \"count\": 220,\n      \"amount\": 6600\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — voids & returns",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/voids-returns?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "voids-returns"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Voided sale-lines and RMA returns by branch/staff/reason."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"branch_id\": 1,\n      \"voids_count\": 12,\n      \"voids_amount\": 880,\n      \"returns_count\": 8,\n      \"returns_amount\": 640\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Sales — tender mix",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/sales/tenders?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "sales",
                "tenders"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Mix by payment tender (cash, mada, visa, transfer, gift, loyalty, etc)."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"tender\": \"cash\",\n      \"net\": 22400,\n      \"txns\": 380,\n      \"share_pct\": 0.18\n    },\n    {\n      \"tender\": \"mada\",\n      \"net\": 78200,\n      \"txns\": 1620,\n      \"share_pct\": 0.62\n    },\n    {\n      \"tender\": \"visa\",\n      \"net\": 18450,\n      \"txns\": 240,\n      \"share_pct\": 0.15\n    },\n    {\n      \"tender\": \"gift\",\n      \"net\": 1200,\n      \"txns\": 18,\n      \"share_pct\": 0.01\n    },\n    {\n      \"tender\": \"transfer\",\n      \"net\": 5240,\n      \"txns\": 12,\n      \"share_pct\": 0.04\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 5\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — turns",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/turns?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "turns"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"product_id\": 101,\n      \"turns\": 4.2\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — aging",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/aging",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "aging"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"product_id\": 101,\n      \"bucket\": \"30-60\",\n      \"value\": 1200\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — wastage",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/wastage?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "wastage"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"product_id\": 101,\n      \"qty\": 6,\n      \"value\": 72\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — ZF health",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/zero-friction-health",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "zero-friction-health"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"open_events\": 5,\n    \"overdue_events\": 1,\n    \"deferred_cogs\": 320.5\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — stock on hand",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/stock-on-hand?branch_id=1&as_of=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "stock-on-hand"
              ],
              "query": [
                {
                  "key": "branch_id",
                  "value": "1"
                },
                {
                  "key": "as_of",
                  "value": "2026-04-30"
                }
              ],
              "variable": []
            },
            "description": "Snapshot of current physical stock per SKU per branch."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"product_id\": 101,\n      \"sku\": \"BURG-CLASSIC\",\n      \"branch_id\": 1,\n      \"qty\": 320,\n      \"uom\": \"each\",\n      \"value\": 1280\n    },\n    {\n      \"product_id\": 510,\n      \"sku\": \"OIL-5L\",\n      \"branch_id\": 1,\n      \"qty\": 12,\n      \"uom\": \"bottle\",\n      \"value\": 540\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — valuation",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/valuation?as_of=2026-04-30&method=weighted_avg",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "valuation"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "2026-04-30"
                },
                {
                  "key": "method",
                  "value": "weighted_avg"
                }
              ],
              "variable": []
            },
            "description": "Total stock value at WAC or FIFO. Reconciles to GL inventory account."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"total_value\": 184230.5,\n    \"by_branch\": [\n      {\n        \"branch_id\": 1,\n        \"value\": 102450\n      },\n      {\n        \"branch_id\": 2,\n        \"value\": 81780.5\n      }\n    ]\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — low stock & reorder",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/low-stock?branch_id=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "low-stock"
              ],
              "query": [
                {
                  "key": "branch_id",
                  "value": "1"
                }
              ],
              "variable": []
            },
            "description": "SKUs below reorder point with suggested order qty (par − on-hand)."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"product_id\": 510,\n      \"sku\": \"OIL-5L\",\n      \"on_hand\": 12,\n      \"par_min\": 30,\n      \"reorder_point\": 18,\n      \"suggested_order_qty\": 60,\n      \"supplier_id\": 4\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — cycle count accuracy",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/cycle-count-accuracy?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "cycle-count-accuracy"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Variance between counted vs system. Tracks team accuracy over time."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"branch_id\": 1,\n      \"counts_done\": 14,\n      \"lines_counted\": 380,\n      \"variance_pct\": 0.018,\n      \"value_variance\": 240\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Inventory — lot expiry",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/inventory/lot-expiry?within_days=30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "inventory",
                "lot-expiry"
              ],
              "query": [
                {
                  "key": "within_days",
                  "value": "30"
                }
              ],
              "variable": []
            },
            "description": "Lots expiring within N days. Ordered by days_to_expiry asc."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"lot_id\": 88,\n      \"product_id\": 411,\n      \"sku\": \"MILK-1L\",\n      \"expiry_date\": \"2026-05-12\",\n      \"qty_remaining\": 24,\n      \"branch_id\": 1,\n      \"days_to_expiry\": 16\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Customers — cohorts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/customers/cohorts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "customers",
                "cohorts"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"cohort\": \"2026-01\",\n      \"retained_m1\": 0.42\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Customers — loyalty",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/customers/loyalty",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "customers",
                "loyalty"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"outstanding_points\": 4220000,\n    \"breakage_ytd\": 12000\n  }\n}"
            }
          ]
        },
        {
          "name": "Customers — top customers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/customers/top?period=2026-04&limit=50",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "customers",
                "top"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "limit",
                  "value": "50"
                }
              ],
              "variable": []
            },
            "description": "Top spenders for the period."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"customer_id\": 1024,\n      \"name\": \"Sarah A.\",\n      \"visits\": 12,\n      \"spend\": 4820,\n      \"avg_ticket\": 401.7\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Customers — RFM segmentation",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/customers/rfm",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "customers",
                "rfm"
              ],
              "variable": []
            },
            "description": "Recency-Frequency-Monetary segmentation. Classifies into champions / loyal / at-risk / hibernating / new."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"segment\": \"champions\",\n      \"count\": 184,\n      \"share_pct\": 0.08,\n      \"avg_spend\": 620\n    },\n    {\n      \"segment\": \"loyal\",\n      \"count\": 612,\n      \"share_pct\": 0.27,\n      \"avg_spend\": 280\n    },\n    {\n      \"segment\": \"at_risk\",\n      \"count\": 410,\n      \"share_pct\": 0.18,\n      \"avg_spend\": 180\n    },\n    {\n      \"segment\": \"hibernating\",\n      \"count\": 720,\n      \"share_pct\": 0.32,\n      \"avg_spend\": 90\n    },\n    {\n      \"segment\": \"new\",\n      \"count\": 340,\n      \"share_pct\": 0.15,\n      \"avg_spend\": 110\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 5\n  }\n}"
            }
          ]
        },
        {
          "name": "Staff — productivity",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/staff/productivity?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "staff",
                "productivity"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"staff_id\": 1,\n      \"sales_per_hour\": 88\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Staff — attendance",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/staff/attendance?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "staff",
                "attendance"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"staff_id\": 1,\n      \"late_count\": 2,\n      \"absent_count\": 0\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Staff — tips",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/staff/tips?period=2026-04&branch_id=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "staff",
                "tips"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "branch_id",
                  "value": "1"
                }
              ],
              "variable": []
            },
            "description": "Tips per staff member; supports pooled and individual tip policies."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"staff_id\": 1,\n      \"name\": \"Ali H.\",\n      \"shifts\": 22,\n      \"tips_total\": 1840,\n      \"tips_avg_per_shift\": 83.6\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Staff — commission",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/staff/commission?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "staff",
                "commission"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Commissionable revenue per staff. Calc rule from policy: pct of net, capped, etc."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"staff_id\": 1,\n      \"commissionable_net\": 22000,\n      \"commission_pct\": 0.03,\n      \"commission_amount\": 660\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Staff — Saudization (Nitaqat band)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/staff/saudization",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "staff",
                "saudization"
              ],
              "variable": []
            },
            "description": "Real-time Saudization ratio + Nitaqat color-band. Used for compliance dashboards."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"ratio\": 0.47,\n    \"band\": \"green\",\n    \"threshold_band_low\": 0.3,\n    \"threshold_band_high\": 0.55,\n    \"saudi_count\": 18,\n    \"total_count\": 38,\n    \"warning\": null\n  }\n}"
            }
          ]
        },
        {
          "name": "Branches — P&L",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/branches/pnl?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "branches",
                "pnl"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"branch_id\": 1,\n      \"gross_profit\": 88000,\n      \"net\": 22000\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Branches — comparison",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/branches/comparison?period=2026-04&metric=net",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "branches",
                "comparison"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "metric",
                  "value": "net"
                }
              ],
              "variable": []
            },
            "description": "Side-by-side branch KPIs: net, txns, basket, traffic, labour %, food cost %."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"branch_id\": 1,\n      \"name\": {\n        \"en\": \"Riyadh-Olaya\",\n        \"ar\": \"الرياض - العليا\"\n      },\n      \"net\": 188450,\n      \"txns\": 2840,\n      \"basket\": 66.4,\n      \"labour_pct\": 0.18,\n      \"food_cost_pct\": 0.31\n    },\n    {\n      \"branch_id\": 2,\n      \"name\": {\n        \"en\": \"Jeddah-Tahlia\",\n        \"ar\": \"جدة - التحلية\"\n      },\n      \"net\": 142300,\n      \"txns\": 2120,\n      \"basket\": 67.1,\n      \"labour_pct\": 0.21,\n      \"food_cost_pct\": 0.33\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Branches — health scorecard",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/branches/health-scorecard?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "branches",
                "health-scorecard"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Composite branch-health score: sales, ops (stockouts, voids), finance (cash variance), HR (attendance)."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"branch_id\": 1,\n      \"score\": 87,\n      \"grade\": \"A\",\n      \"components\": {\n        \"sales\": 92,\n        \"operations\": 84,\n        \"finance\": 88,\n        \"hr\": 84\n      },\n      \"flags\": [\n        \"cash_variance_above_threshold\"\n      ]\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — P&L",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/pl?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "pl"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"revenue\": 144000,\n    \"cogs\": 78000,\n    \"opex\": 22000,\n    \"net\": 44000\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — Balance Sheet",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/bs?as_of=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "bs"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"assets\": 540000,\n    \"liabilities\": 180000,\n    \"equity\": 360000\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — Cashflow",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/cashflow?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "cashflow"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"operating\": 41000,\n    \"investing\": -5000,\n    \"financing\": -10000\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — VAT summary",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/vat-summary?period=2026-04&basis=accrual",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "vat-summary"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "basis",
                  "value": "accrual"
                }
              ],
              "variable": []
            },
            "description": "VAT due / refundable per period. Basis is accrual unless tenant policy = cash."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"period\": \"2026-04\",\n    \"basis\": \"accrual\",\n    \"output_vat\": 53835,\n    \"input_vat\": 18420,\n    \"net_vat_due\": 35415,\n    \"zatca_filing_status\": \"pending\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — VAT detail",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/vat-detail?period=2026-04&vat_code=STD",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "vat-detail"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "vat_code",
                  "value": "STD"
                }
              ],
              "variable": []
            },
            "description": "Line-level VAT detail for ZATCA reconciliation. Paginated."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"je_id\": 14021,\n      \"date\": \"2026-04-12\",\n      \"vat_code\": \"STD\",\n      \"taxable\": 230,\n      \"vat\": 34.5,\n      \"source\": \"sale_50001\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — trial balance",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/trial-balance?as_of=2026-04-30&include_archived=false",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "trial-balance"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "2026-04-30"
                },
                {
                  "key": "include_archived",
                  "value": "false"
                }
              ],
              "variable": []
            },
            "description": "TB at as-of date. Sum(debit) must equal Sum(credit). Used by close-period checks."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"as_of\": \"2026-04-30\",\n    \"accounts\": [\n      {\n        \"code\": \"1101\",\n        \"name\": {\n          \"en\": \"Riyad Bank · Operating\",\n          \"ar\": \"بنك الرياض · تشغيلي\"\n        },\n        \"debit\": 284650,\n        \"credit\": 0\n      },\n      {\n        \"code\": \"4000\",\n        \"name\": {\n          \"en\": \"Revenue\",\n          \"ar\": \"الإيرادات\"\n        },\n        \"debit\": 0,\n        \"credit\": 358900\n      }\n    ],\n    \"totals\": {\n      \"debit\": 1842300,\n      \"credit\": 1842300,\n      \"balanced\": true\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — AR aging",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/ar-aging?as_of=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "ar-aging"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "2026-04-30"
                }
              ],
              "variable": []
            },
            "description": "Customer receivables aged by 0-30 / 31-60 / 61-90 / 90+ buckets."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"customer_id\": 1024,\n      \"name\": \"Sarah A.\",\n      \"current\": 2400,\n      \"b_30\": 800,\n      \"b_60\": 0,\n      \"b_90\": 0,\n      \"total\": 3200\n    }\n  ],\n  \"totals\": {\n    \"current\": 124000,\n    \"b_30\": 41200,\n    \"b_60\": 8400,\n    \"b_90\": 1200,\n    \"total\": 174800\n  },\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — AP aging",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/ap-aging?as_of=2026-04-30",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "ap-aging"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "2026-04-30"
                }
              ],
              "variable": []
            },
            "description": "Vendor payables aged by 0-30 / 31-60 / 61-90 / 90+ buckets."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"supplier_id\": 4,\n      \"name\": {\n        \"en\": \"Almarai\",\n        \"ar\": \"المراعي\"\n      },\n      \"current\": 18400,\n      \"b_30\": 0,\n      \"b_60\": 0,\n      \"b_90\": 0,\n      \"total\": 18400\n    }\n  ],\n  \"totals\": {\n    \"current\": 84200,\n    \"b_30\": 12400,\n    \"b_60\": 2200,\n    \"b_90\": 0,\n    \"total\": 98800\n  },\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Finance — statement of equity changes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/finance/equity-changes?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "finance",
                "equity-changes"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Movement in equity accounts: opening, contributions, distributions, retained earnings, closing."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": {\n    \"period\": \"2026-04\",\n    \"opening_equity\": 320000,\n    \"contributions\": 0,\n    \"distributions\": -10000,\n    \"net_income\": 44000,\n    \"closing_equity\": 354000\n  }\n}"
            }
          ]
        },
        {
          "name": "Menu engineering",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/menu-engineering?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "menu-engineering"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"menu_item_id\": 14,\n      \"classification\": \"star\",\n      \"margin_pct\": 0.62,\n      \"popularity_pct\": 0.18\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Recipe drift",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/recipe-drift",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "recipe-drift"
              ],
              "variable": []
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"recipe_id\": 14,\n      \"observed_qty\": 0.32,\n      \"baseline_qty\": 0.3,\n      \"variance_pct\": 0.067\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "Prep vs actual (F&B)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/prep-vs-actual?period=2026-04&branch_id=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "prep-vs-actual"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "branch_id",
                  "value": "1"
                }
              ],
              "variable": []
            },
            "description": "For each prepped recipe, compare prepped qty vs actual sold/wasted. Surfaces over-prep."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"recipe_id\": 14,\n      \"name\": {\n        \"en\": \"Burger sauce\",\n        \"ar\": \"صوص البرجر\"\n      },\n      \"prepped_qty\": 5,\n      \"sold_qty\": 4.2,\n      \"wasted_qty\": 0.6,\n      \"variance_pct\": -0.04\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        },
        {
          "name": "KDS times (F&B)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/kds-times?period=2026-04&branch_id=1",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "kds-times"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                },
                {
                  "key": "branch_id",
                  "value": "1"
                }
              ],
              "variable": []
            },
            "description": "Avg fire→bump time per station, voids by station, late-bump rate."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"station\": \"grill\",\n      \"avg_bump_seconds\": 412,\n      \"late_bump_pct\": 0.06,\n      \"voids_count\": 4\n    },\n    {\n      \"station\": \"fryer\",\n      \"avg_bump_seconds\": 218,\n      \"late_bump_pct\": 0.02,\n      \"voids_count\": 1\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Pay — MDR by scheme",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/pay/mdr-by-scheme?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "pay",
                "mdr-by-scheme"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Effective MDR realised per scheme. Cross-checks merchant MDR schedules."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"scheme\": \"mada\",\n      \"txns\": 1620,\n      \"gross\": 78200,\n      \"mdr_amount\": 664.7,\n      \"effective_pct\": 0.85\n    },\n    {\n      \"scheme\": \"visa\",\n      \"txns\": 240,\n      \"gross\": 18450,\n      \"mdr_amount\": 359.78,\n      \"effective_pct\": 1.95\n    },\n    {\n      \"scheme\": \"mc\",\n      \"txns\": 180,\n      \"gross\": 14200,\n      \"mdr_amount\": 276.9,\n      \"effective_pct\": 1.95\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 3\n  }\n}"
            }
          ]
        },
        {
          "name": "Pay — acquirer mix",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/pay/acquirer-mix?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "pay",
                "acquirer-mix"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Volume share per acquirer; used for acquirer-level negotiation."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"acquirer_id\": 2,\n      \"name\": \"Acquirer A\",\n      \"txns\": 1840,\n      \"gross\": 96400,\n      \"share_pct\": 0.78\n    },\n    {\n      \"acquirer_id\": 3,\n      \"name\": \"Acquirer B\",\n      \"txns\": 220,\n      \"gross\": 14250,\n      \"share_pct\": 0.12\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Pay — chargeback rate",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/pay/chargeback-rate?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "pay",
                "chargeback-rate"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Chargebacks / approved txns per scheme. SAMA flags >0.9% on Visa/MC."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"scheme\": \"mada\",\n      \"txns\": 1620,\n      \"chargebacks\": 1,\n      \"rate_pct\": 0.0006\n    },\n    {\n      \"scheme\": \"visa\",\n      \"txns\": 240,\n      \"chargebacks\": 2,\n      \"rate_pct\": 0.0083,\n      \"flag\": \"approaching_threshold\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 2\n  }\n}"
            }
          ]
        },
        {
          "name": "Pay — auth & decline rate",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept-Language",
                "value": "{{locale}}"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reports/pay/auth-decline-rate?period=2026-04",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reports",
                "pay",
                "auth-decline-rate"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "2026-04"
                }
              ],
              "variable": []
            },
            "description": "Approval/decline split per scheme + top decline reasons."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"data\": [\n    {\n      \"scheme\": \"mada\",\n      \"attempted\": 1680,\n      \"approved\": 1620,\n      \"declined\": 60,\n      \"approval_pct\": 0.964,\n      \"top_decline_reasons\": [\n        {\n          \"code\": \"51\",\n          \"label\": \"insufficient_funds\",\n          \"count\": 38\n        },\n        {\n          \"code\": \"05\",\n          \"label\": \"do_not_honor\",\n          \"count\": 14\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"per_page\": 25,\n    \"total\": 1\n  }\n}"
            }
          ]
        }
      ]
    }
  ],
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "exec": [
          "// no-op; per-request idempotency keys come from {{$guid}}"
        ]
      }
    }
  ]
}