{
  "info": {
    "name": "Objectify API",
    "_postman_id": "16b11522-fd31-4763-acbe-588eab4161c2",
    "description": "Multi-tenant Objects Platform API on Cloudflare Workers. Provides database, authentication, file storage, AI, real-time subscriptions, webhooks, workflows, and analytics as a service.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{api_key}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "http://localhost:8787"
    },
    {
      "key": "api_key",
      "value": ""
    },
    {
      "key": "admin_key",
      "value": ""
    },
    {
      "key": "tenant_id",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Public",
      "description": "Health checks, docs, and landing pages. No authentication required.",
      "item": [
        {
          "name": "API documentation UI",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/docs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "docs"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Returns the interactive HTML API documentation."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Health check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/health",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "health"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Returns service status, version, deployment region, and timestamp."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Landing page",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/",
              "host": [
                "{{base_url}}"
              ],
              "path": []
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Returns the HTML landing page for the API."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "OpenAPI specification",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/docs/openapi.json",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "docs",
                "openapi.json"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Returns this OpenAPI 3.1 JSON specification."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Readiness probe",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/ready",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "ready"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Lightweight probe for load balancer health checks."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant config (public)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/tenant-config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "tenant-config"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Returns public-facing tenant configuration (branding, auth config). No auth required but tenant must be identifiable."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Lookup tenants by email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/tenants/lookup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "tenants",
                "lookup"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Find tenants associated with an email address.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Owner Auth",
      "description": "Public endpoints for platform owner signup, login, password reset, and email verification.",
      "item": [
        {
          "name": "Check slug availability",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/check-slug/:slug",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "check-slug",
                ":slug"
              ],
              "variable": [
                {
                  "key": "slug",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Check whether an organization slug is available."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Request owner password reset",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/forgot-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "forgot-password"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Send a password reset email to the owner. Always returns success.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"tenant_id\": \"string\",\n  \"turnstile_token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Owner login",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/login",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "login"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Authenticate a platform owner. Returns JWT token and user details.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"password\": \"string\",\n  \"tenant_id\": \"string\",\n  \"turnstile_token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete owner MFA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/mfa/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "mfa",
                "complete"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Complete MFA challenge during owner login.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mfa_ticket\": \"string\",\n  \"factor_id\": \"string\",\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Begin owner passkey authentication",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/passkeys/authenticate/begin",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "passkeys",
                "authenticate",
                "begin"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Public endpoint — no auth required."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete owner passkey authentication",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/passkeys/authenticate/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "passkeys",
                "authenticate",
                "complete"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Public endpoint — returns owner session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"credential\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Resend verification email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/resend-verification",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "resend-verification"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Resend the email verification link. Always returns success to prevent enumeration.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"tenant_id\": \"string\",\n  \"turnstile_token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete owner password reset",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/reset-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "reset-password"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Reset the owner password using the token from the reset email.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\",\n  \"tenant_id\": \"string\",\n  \"password\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Owner signup",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/signup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "signup"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Create a new organization with an owner account. Requires Turnstile CAPTCHA.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"organization\": \"string\",\n  \"organization_name\": \"string\",\n  \"email\": \"string\",\n  \"password\": \"string\",\n  \"turnstile_token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify owner email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/verify-email",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "verify-email"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Verify the owner email address using the token sent during signup.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\",\n  \"tenant_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Owner Profile",
      "description": "Authenticated endpoints for managing the platform owner profile, organization, and MFA.",
      "item": [
        {
          "name": "Get owner profile",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/profile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "profile"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Returns the authenticated owner's profile."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update owner profile",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/profile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "profile"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update the owner email or metadata.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"user_metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List owner MFA factors",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/mfa/factors",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "mfa",
                "factors"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all MFA factors enrolled by the owner."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List owner passkeys",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/passkeys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "passkeys"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List owner passkeys"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Change owner password",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/change-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "change-password"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Change the owner password. Requires current password.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"current_password\": \"string\",\n  \"new_password\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Close support ticket",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/support-tickets/:ticket_id/close",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "support-tickets",
                ":ticket_id",
                "close"
              ],
              "variable": [
                {
                  "key": "ticket_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Close support ticket"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List owner support tickets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/support-tickets",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "support-tickets"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List owner support tickets"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create support ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/support-tickets",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "support-tickets"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create support ticket",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"subject\": \"string\",\n  \"body\": \"string\",\n  \"category\": \"string\",\n  \"priority\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List owner tenants",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/tenants",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "tenants"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List owner tenants"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create new tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/tenants",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "tenants"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create new tenant",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"organization\": \"string\",\n  \"organization_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete owner passkey",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/passkeys/:credential_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "passkeys",
                ":credential_id"
              ],
              "variable": [
                {
                  "key": "credential_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete owner passkey"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get support ticket",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/support-tickets/:ticket_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "support-tickets",
                ":ticket_id"
              ],
              "variable": [
                {
                  "key": "ticket_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get support ticket"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Enroll owner MFA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/mfa/enroll",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "mfa",
                "enroll"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a TOTP secret and QR code for the owner to enroll MFA.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"friendly_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify owner MFA code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/mfa/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "mfa",
                "verify"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Verify a TOTP code for the owner MFA factor.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"factor_id\": \"string\",\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Begin owner passkey registration",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/passkeys/register/begin",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "passkeys",
                "register",
                "begin"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Begin owner passkey registration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete owner passkey registration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/passkeys/register/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "passkeys",
                "register",
                "complete"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Complete owner passkey registration",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"credential\": {},\n  \"friendly_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reply to support ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/support-tickets/:ticket_id/messages",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "support-tickets",
                ":ticket_id",
                "messages"
              ],
              "variable": [
                {
                  "key": "ticket_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reply to support ticket",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"body\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Switch active tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/switch-tenant",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "switch-tenant"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Switch active tenant",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tenant_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Unenroll owner MFA factor",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/owner/mfa/:factor_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "mfa",
                ":factor_id"
              ],
              "variable": [
                {
                  "key": "factor_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove an enrolled MFA factor."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update owner notification preferences",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/notifications",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "notifications"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update the owner notification preferences (email alerts, etc.).",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update organization name",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/owner/organization",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "owner",
                "organization"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update the organization display name.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"organization_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Billing",
      "description": "Stripe billing integration and webhooks.",
      "item": [
        {
          "name": "Stripe webhook",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/webhooks/stripe",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "webhooks",
                "stripe"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Receives Stripe webhook events. Verified using Stripe-Signature header. Handles checkout.session.completed, customer.subscription.updated, customer.subscription.deleted."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Tenants",
      "description": "Multi-tenant provisioning, configuration, migration, quota management, and suspension.",
      "item": [
        {
          "name": "Export tenant data",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "export"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Initiate an async export of all tenant data (objects, files, users, config)."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 202\", function () {",
                  "    pm.response.to.have.status(202);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get export status",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/export/:export_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "export",
                ":export_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "export_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Check the status of an async tenant data export."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Override tenant plan",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/plan",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "plan"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Manually set a tenant plan tier, limits, and Stripe IDs. Records an audit log entry. When plan_tier changes, defaults are applied first then overrides merged.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"plan_tier\": {},\n  \"plan_limits\": {},\n  \"stripe_customer_id\": \"string\",\n  \"stripe_subscription_id\": \"string\",\n  \"reason\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List tenants",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/tenants",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all tenants with pagination and optional search."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Provision a new tenant and assign it to a shard.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tenant_id\": \"string\",\n  \"organization_name\": \"string\",\n  \"plan_limits\": {},\n  \"plan_tier\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get full details for a specific tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update tenant",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update tenant",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"organization_name\": \"string\",\n  \"owner_email\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete tenant",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently delete a tenant and all associated data."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get migration job status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/migrations/status/:jobId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "migrations",
                "status",
                ":jobId"
              ],
              "variable": [
                {
                  "key": "jobId",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get migration job status"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant billing usage",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/usage/billing",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "usage",
                "billing"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get metered billing usage data for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant route",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/route",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "route"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get the routing configuration for a tenant (shard assignment, mode, etc.)."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant usage",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "usage"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Returns current resource usage for the tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List migration jobs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/migrations/jobs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "migrations",
                "jobs"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List migration jobs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Migrate tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/migrate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "migrate"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Start a live migration of a tenant to a different shard.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"target_shard_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Start data migration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/migrations/:source",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "migrations",
                ":source"
              ],
              "variable": [
                {
                  "key": "source",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Start data migration",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"config\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Suspend tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/suspend",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "suspend"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Suspend a tenant, preventing all API access.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Clean up tenant files",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/cleanup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                "cleanup"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Trigger cleanup of orphaned and stale files for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Unsuspend tenant",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/unsuspend",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "unsuspend"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Restore a suspended tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update tenant allowed origins",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/allowed-origins",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "allowed-origins"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update the CORS allowed origins for a tenant.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"allowed_origins\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update tenant quota",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/quota",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "quota"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update plan limits for a tenant.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"plan_limits\": {},\n  \"plan_tier\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant usage",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "usage"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get tenant usage"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Shards",
      "description": "D1 database shard registration and management.",
      "item": [
        {
          "name": "Global file statistics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/files/stats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "files",
                "stats"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Returns aggregate file storage statistics across all tenants."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Set shard dedication",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/shards/:shard_id/dedicate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "shards",
                ":shard_id",
                "dedicate"
              ],
              "variable": [
                {
                  "key": "shard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Set shard dedication",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"dedicated_to\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Deregister shard",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/shards/:shard_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "shards",
                ":shard_id"
              ],
              "variable": [
                {
                  "key": "shard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Deregister shard"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get shard recommendations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/shards/recommendations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "shards",
                "recommendations"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get recommendations for shard rebalancing based on current load."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List shards",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/shards",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "shards"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all registered D1 database shards."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Register shard",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/shards",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "shards"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Register a new D1 shard for tenant data storage.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"shard_id\": \"string\",\n  \"binding_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Migrate shard data",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/shards/:shard_id/migrate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "shards",
                ":shard_id",
                "migrate"
              ],
              "variable": [
                {
                  "key": "shard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Migrate shard data",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"target_shard_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Provision new D1 shard",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/shards/provision",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "shards",
                "provision"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Provision new D1 shard",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"shard_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: API Keys",
      "description": "API key lifecycle management — create, revoke, rotate, and update.",
      "item": [
        {
          "name": "List API keys",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/keys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "keys"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all API keys for a tenant (tokens are never returned)."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create API key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/keys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "keys"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a new API key for the tenant. The raw token is only returned once.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"string\",\n  \"scopes\": [],\n  \"ip_allowlist\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update API key",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/keys/:key_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "keys",
                ":key_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "key_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update label, scopes, IP allowlist, or rate limit for an API key.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"string\",\n  \"scopes\": [],\n  \"ip_allowlist\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Revoke API key",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/keys/:key_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "keys",
                ":key_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "key_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently revoke an API key."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Rotate API key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/keys/:key_id/rotate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "keys",
                ":key_id",
                "rotate"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "key_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Rotate an API key — revokes the old one and creates a new one with the same configuration.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"string\",\n  \"scopes\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List API keys",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/keys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "keys"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List API keys"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create API key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/keys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "keys"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create API key",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"string\",\n  \"scopes\": [],\n  \"ip_allowlist\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update API key",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/keys/:key_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "keys",
                ":key_id"
              ],
              "variable": [
                {
                  "key": "key_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update API key",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"string\",\n  \"scopes\": [],\n  \"ip_allowlist\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Revoke API key",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/keys/:key_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "keys",
                ":key_id"
              ],
              "variable": [
                {
                  "key": "key_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Revoke API key"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Rotate API key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/keys/:key_id/rotate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "keys",
                ":key_id",
                "rotate"
              ],
              "variable": [
                {
                  "key": "key_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Rotate API key",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"string\",\n  \"scopes\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Users",
      "description": "Admin management of tenant auth users.",
      "item": [
        {
          "name": "List users",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/users",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "users"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "role",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List auth users for a tenant with pagination and search."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create user",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/users",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "users"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a new auth user for a tenant.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"password\": \"string\",\n  \"phone\": \"string\",\n  \"role\": \"string\",\n  \"email_verified\": true,\n  \"user_metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get user",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get a specific auth user by ID."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update user",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update a user's email, role, ban status, metadata, etc.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"phone\": \"string\",\n  \"role\": \"string\",\n  \"banned\": true,\n  \"ban_reason\": \"string\",\n  \"email_verified\": true,\n  \"user_metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete user",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently delete a user and all their sessions."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get notification preferences (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/notifications/preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "notifications",
                "preferences"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get notification preferences (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update notification preferences (admin)",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/notifications/preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "notifications",
                "preferences"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update notification preferences (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"channel\": \"string\",\n  \"enabled\": true,\n  \"categories\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get unread notification count (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/notifications/count",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "notifications",
                "count"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get unread notification count (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List notifications (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/notifications",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "notifications"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List notifications (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List user MFA factors",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/users/:user_id/mfa",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "users",
                ":user_id",
                "mfa"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List MFA factors enrolled by a specific user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Mark all notifications read (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/notifications/read-all",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "notifications",
                "read-all"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Mark all notifications read (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Mark notification read (admin)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/notifications/:notification_id/read",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "notifications",
                ":notification_id",
                "read"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "notification_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Mark notification read (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List users",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/users",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "users"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "role",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List users"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create user",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/users",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "users"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create user",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"password\": \"string\",\n  \"phone\": \"string\",\n  \"role\": \"string\",\n  \"email_verified\": true,\n  \"user_metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get user",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get user"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update user",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update user",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"string\",\n  \"phone\": \"string\",\n  \"role\": \"string\",\n  \"banned\": true,\n  \"ban_reason\": \"string\",\n  \"email_verified\": true,\n  \"user_metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete user",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete user"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List user MFA factors",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/users/:user_id/mfa",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "users",
                ":user_id",
                "mfa"
              ],
              "variable": [
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List user MFA factors"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Auth Config",
      "description": "Tenant authentication configuration — providers, password policy, branding, templates.",
      "item": [
        {
          "name": "Delete admin passkey",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/passkeys/:credential_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "passkeys",
                ":credential_id"
              ],
              "variable": [
                {
                  "key": "credential_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete admin passkey"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List admin passkeys",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/passkeys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "passkeys"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List admin passkeys"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Begin admin passkey authentication",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/passkeys/authenticate/begin",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "passkeys",
                "authenticate",
                "begin"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Public endpoint — no admin key required."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete admin passkey authentication",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/passkeys/authenticate/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "passkeys",
                "authenticate",
                "complete"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Public endpoint — no admin key required. Returns admin session token.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"challenge\": \"string\",\n  \"credential_id\": \"string\",\n  \"authenticator_data\": \"string\",\n  \"client_data_json\": \"string\",\n  \"signature\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Begin admin passkey registration",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/passkeys/register/begin",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "passkeys",
                "register",
                "begin"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Begin admin passkey registration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete admin passkey registration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/passkeys/register/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "passkeys",
                "register",
                "complete"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Complete admin passkey registration",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"challenge\": \"string\",\n  \"credential_id\": \"string\",\n  \"public_key\": \"string\",\n  \"display_name\": \"string\",\n  \"transports\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Confirm admin TOTP setup",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/totp/confirm",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "totp",
                "confirm"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Confirm admin TOTP setup",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Disable admin TOTP",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/totp",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "totp"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Disable admin TOTP",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"totp_code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Setup admin TOTP",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/totp/setup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "totp",
                "setup"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a TOTP secret for admin 2FA. Returns secret and otpauth URI."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get admin TOTP status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/totp/status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "totp",
                "status"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get admin TOTP status"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Admin 2FA verification",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "verify"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Verify admin identity with Turnstile CAPTCHA, admin key, and optional TOTP code.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"admin_key\": \"string\",\n  \"turnstile_token\": \"string\",\n  \"totp_code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get auth config",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "config"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get the authentication configuration for a tenant (email providers, OAuth, password policy, branding, templates)."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update auth config",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/auth/config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "auth",
                "config"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update the authentication configuration. Partial update — only provided fields are changed.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List email templates",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/email-templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "email-templates"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List email templates"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Preview email template",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/email-templates/preview/:name",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "email-templates",
                "preview",
                ":name"
              ],
              "variable": [
                {
                  "key": "name",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Preview email template"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get auth config",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth-config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth-config"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get auth config"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update auth config",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth-config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth-config"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update auth config",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Webhooks",
      "description": "Webhook endpoint management — create, test, replay, and configure event subscriptions.",
      "item": [
        {
          "name": "List webhooks",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhooks",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhooks"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all webhook configurations for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhooks",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhooks"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Register a new webhook endpoint for a tenant.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"string\",\n  \"events\": [],\n  \"object_types\": [],\n  \"status\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update webhook",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhooks/:webhook_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhooks",
                ":webhook_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update a webhook URL, events, status, or object type filters.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"string\",\n  \"events\": [],\n  \"object_types\": [],\n  \"status\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete webhook",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhooks/:webhook_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhooks",
                ":webhook_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently delete a webhook."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Replay webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhooks/:webhook_id/replay",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhooks",
                ":webhook_id",
                "replay"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Replay a previously delivered webhook event.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"event\": \"string\",\n  \"payload\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Rotate webhook secret",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhooks/:webhook_id/rotate-secret",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhooks",
                ":webhook_id",
                "rotate-secret"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Rotate webhook secret"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Test webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhooks/:webhook_id/test",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhooks",
                ":webhook_id",
                "test"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Send a test payload to the webhook URL."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List webhooks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/webhooks",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhooks"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List webhooks"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/webhooks",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhooks"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create webhook",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"string\",\n  \"events\": [],\n  \"object_types\": [],\n  \"status\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update webhook",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/webhooks/:webhook_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhooks",
                ":webhook_id"
              ],
              "variable": [
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update webhook",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"string\",\n  \"events\": [],\n  \"status\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete webhook",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/webhooks/:webhook_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhooks",
                ":webhook_id"
              ],
              "variable": [
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete webhook"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Replay webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/webhooks/:webhook_id/replay",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhooks",
                ":webhook_id",
                "replay"
              ],
              "variable": [
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Replay webhook",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"event\": \"string\",\n  \"payload\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Rotate webhook secret",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/webhooks/:webhook_id/rotate-secret",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhooks",
                ":webhook_id",
                "rotate-secret"
              ],
              "variable": [
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Rotate webhook secret"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Test webhook",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/webhooks/:webhook_id/test",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhooks",
                ":webhook_id",
                "test"
              ],
              "variable": [
                {
                  "key": "webhook_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Test webhook"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Webhook Deliveries",
      "description": "Webhook delivery logs and retry.",
      "item": [
        {
          "name": "List webhook deliveries",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhook-deliveries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhook-deliveries"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List webhook delivery logs for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Retry webhook delivery",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/webhook-deliveries/:delivery_id/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "webhook-deliveries",
                ":delivery_id",
                "retry"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "delivery_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Retry a failed webhook delivery."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List webhook deliveries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/webhook-deliveries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhook-deliveries"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List webhook deliveries"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Retry webhook delivery",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/webhook-deliveries/:delivery_id/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "webhook-deliveries",
                ":delivery_id",
                "retry"
              ],
              "variable": [
                {
                  "key": "delivery_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Retry webhook delivery"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Policies",
      "description": "Row-level security policy management for object types.",
      "item": [
        {
          "name": "List access policies",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/policies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "policies"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all RLS policies for an object type."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create access policy",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/policies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "policies"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a row-level security policy for an object type.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"action\": \"select\",\n  \"condition_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update access policy",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/policies/:policy_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "policies",
                ":policy_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "policy_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update a row-level security policy.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"action\": \"select\",\n  \"condition_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete access policy",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/policies/:policy_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "policies",
                ":policy_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "policy_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete a row-level security policy."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List access policies",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/policies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "policies"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List access policies"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create access policy",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/policies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "policies"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create access policy",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"action\": \"select\",\n  \"condition_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update access policy",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/policies/:policy_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "policies",
                ":policy_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "policy_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update access policy",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"action\": \"string\",\n  \"condition_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete access policy",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/policies/:policy_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "policies",
                ":policy_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "policy_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete access policy"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Analytics",
      "description": "Tenant and global analytics dashboards.",
      "item": [
        {
          "name": "Global analytics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/analytics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "analytics"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get aggregate analytics across all tenants."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Global analytics engine query",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/analytics/engine",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "analytics",
                "engine"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Global analytics engine query"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Tenant analytics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/analytics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "analytics"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "period",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get analytics data for a specific tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Tenant analytics engine query",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/analytics/engine",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "analytics",
                "engine"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "period",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Tenant analytics engine query"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant analytics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/analytics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "analytics"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get tenant analytics"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Analytics engine query",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/analytics/engine",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "analytics",
                "engine"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Analytics engine query"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Errors",
      "description": "Platform error log management and alerting.",
      "item": [
        {
          "name": "List errors",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/errors",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "errors"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List recent platform errors."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Report admin error",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/errors",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "errors"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Report admin error",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"string\",\n  \"source\": \"string\",\n  \"level\": \"error\",\n  \"stack\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Clear errors",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/errors",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "errors"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Clear all stored error entries."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get error webhook config",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/errors/webhook",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "errors",
                "webhook"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get the configured error notification webhook URL."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Set error webhook config",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/errors/webhook",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "errors",
                "webhook"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Configure a webhook URL to receive error notifications.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"string\",\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Audit",
      "description": "Tenant audit log queries.",
      "item": [
        {
          "name": "List audit logs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/audit-logs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "audit-logs"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "action",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "resource_type",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List audit log entries for a tenant with pagination and filtering."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List audit logs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/audit-logs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "audit-logs"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "action",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "resource_type",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List audit logs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: SQL",
      "description": "Direct SQL query execution against tenant D1 shards.",
      "item": [
        {
          "name": "Execute SQL query",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/sql",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "sql"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute a raw SQL query against the tenant's D1 shard. DDL and multi-statement queries are blocked.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sql\": \"string\",\n  \"params\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Execute SQL query",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/sql",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "sql"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute SQL query",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sql\": \"string\",\n  \"params\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: DLQ",
      "description": "Dead-letter queue message management.",
      "item": [
        {
          "name": "Discard DLQ message",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dlq/:msg_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dlq",
                ":msg_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "msg_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently discard a dead-letter message."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List DLQ messages",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dlq",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dlq"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List dead-letter queue messages for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Retry DLQ message",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dlq/:msg_id/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dlq",
                ":msg_id",
                "retry"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "msg_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Re-enqueue a dead-letter message for reprocessing."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Discard DLQ message",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dlq/:msg_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dlq",
                ":msg_id"
              ],
              "variable": [
                {
                  "key": "msg_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Discard DLQ message"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List DLQ messages",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dlq",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dlq"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List DLQ messages"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Retry DLQ message",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dlq/:msg_id/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dlq",
                ":msg_id",
                "retry"
              ],
              "variable": [
                {
                  "key": "msg_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Retry DLQ message"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Events",
      "description": "Admin view of tenant custom events.",
      "item": [
        {
          "name": "List tenant events",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/events",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "events"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List custom events tracked for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Track custom event (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/events",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "events"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Track custom event (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"event_type\": \"string\",\n  \"data\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Realtime",
      "description": "WebSocket connection and channel statistics.",
      "item": [
        {
          "name": "Get realtime stats",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/realtime/stats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "realtime",
                "stats"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get WebSocket connection and channel statistics for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get realtime stats",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/realtime/stats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "realtime",
                "stats"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get realtime stats"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Billing",
      "description": "Stripe checkout and portal session creation.",
      "item": [
        {
          "name": "Create checkout session",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/billing/checkout",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "billing",
                "checkout"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a Stripe Checkout session for plan upgrade.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tenant_id\": \"string\",\n  \"plan\": \"starter\",\n  \"billing\": \"monthly\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create portal session",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/billing/portal",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "billing",
                "portal"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a Stripe Customer Portal session for managing subscriptions and payment methods.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tenant_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Forms",
      "description": "Public form builder management.",
      "item": [
        {
          "name": "List forms",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all forms for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create form",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a public-facing form linked to an object type.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"object_type_id\": \"string\",\n  \"fields\": [],\n  \"settings\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update form",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms/:form_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms",
                ":form_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update form fields, settings, or status.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"fields\": [],\n  \"settings\": {},\n  \"status\": \"active\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete form",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms/:form_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms",
                ":form_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently delete a form."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Duplicate form",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms/:form_id/duplicate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms",
                ":form_id",
                "duplicate"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Duplicate form"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Export form submissions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms/:form_id/submissions/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms",
                ":form_id",
                "submissions",
                "export"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "format",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Export form submissions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get form analytics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms/:form_id/analytics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms",
                ":form_id",
                "analytics"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get form analytics"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List form submissions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/forms/:form_id/submissions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "forms",
                ":form_id",
                "submissions"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List form submissions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List forms",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/forms",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List forms"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create form",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/forms",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create form",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"object_type_id\": \"string\",\n  \"fields\": [],\n  \"settings\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update form",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update form",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"fields\": [],\n  \"settings\": {},\n  \"status\": \"active\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete form",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete form"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Duplicate form",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id/duplicate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id",
                "duplicate"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Duplicate form"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Export form submissions",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id/submissions/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id",
                "submissions",
                "export"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "format",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Export form submissions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get form analytics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id/analytics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id",
                "analytics"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get form analytics"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List form submissions",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id/submissions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id",
                "submissions"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List form submissions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Workflows",
      "description": "Approval workflow configuration for object types.",
      "item": [
        {
          "name": "List workflows",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/workflows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "workflows"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all approval workflows for an object type."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create workflow",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/workflows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "workflows"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create an approval workflow for an object type.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"stages\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update workflow",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/workflows/:workflow_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "workflows",
                ":workflow_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "workflow_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update workflow stages, name, or enabled status.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"stages\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete workflow",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/workflows/:workflow_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "workflows",
                ":workflow_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "workflow_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently delete an approval workflow."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Automations",
      "description": "Event-driven automation rule management.",
      "item": [
        {
          "name": "List automations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/automations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "automations"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all automation rules for a tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create automation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/automations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "automations"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create an event-driven automation rule for a tenant.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"trigger_event\": \"string\",\n  \"trigger_object_type_id\": \"string\",\n  \"conditions\": [],\n  \"actions\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get automation",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/automations/:automation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "automations",
                ":automation_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get automation"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update automation",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/automations/:automation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "automations",
                ":automation_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update an automation rule.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"trigger_event\": \"string\",\n  \"conditions\": [],\n  \"actions\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete automation",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/automations/:automation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "automations",
                ":automation_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently delete an automation rule."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List automation runs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/automations/:automation_id/runs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "automations",
                ":automation_id",
                "runs"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List automation runs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Manually trigger automation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/automations/:automation_id/trigger",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "automations",
                ":automation_id",
                "trigger"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Manually trigger automation",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"data\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List automations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/automations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "automations"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List automations"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create automation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/automations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "automations"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create automation",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"trigger_event\": \"string\",\n  \"conditions\": [],\n  \"actions\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get automation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/automations/:automation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "automations",
                ":automation_id"
              ],
              "variable": [
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get automation"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update automation",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/automations/:automation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "automations",
                ":automation_id"
              ],
              "variable": [
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update automation",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"trigger_event\": \"string\",\n  \"conditions\": [],\n  \"actions\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete automation",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/automations/:automation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "automations",
                ":automation_id"
              ],
              "variable": [
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete automation"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List automation runs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/automations/:automation_id/runs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "automations",
                ":automation_id",
                "runs"
              ],
              "variable": [
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List automation runs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Trigger automation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/automations/:automation_id/trigger",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "automations",
                ":automation_id",
                "trigger"
              ],
              "variable": [
                {
                  "key": "automation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Trigger automation",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"data\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Accounting",
      "description": "Double-entry accounting: chart of accounts, periods, journal entries, invoices, payments, bank reconciliation, tax codes, reports.",
      "item": [
        {
          "name": "Aged payables report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/aged-payables",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "aged-payables"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Aged payables report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Aged receivables report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/aged-receivables",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "aged-receivables"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Aged receivables report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Approve invoice",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/invoices/:invoice_id/approve",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "invoices",
                ":invoice_id",
                "approve"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Approve invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Balance sheet report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/balance-sheet",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "balance-sheet"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Balance sheet report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Cash flow statement",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/cash-flow",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "cash-flow"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Cash flow statement"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Close period",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/periods/:period_id/close",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "periods",
                ":period_id",
                "close"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Close period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List chart of accounts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "accounts"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "active",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List chart of accounts"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "accounts"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"string\",\n  \"name\": \"string\",\n  \"type\": \"string\",\n  \"sub_type\": \"string\",\n  \"parent_id\": \"string\",\n  \"description\": \"string\",\n  \"currency\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List bank accounts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List bank accounts"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create bank account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create bank account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"account_number\": \"string\",\n  \"bank_name\": \"string\",\n  \"currency\": \"string\",\n  \"gl_account_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List currencies",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/currencies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "currencies"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List currencies"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create currency",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/currencies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "currencies"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create currency",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"string\",\n  \"name\": \"string\",\n  \"symbol\": \"string\",\n  \"decimal_places\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List exchange rates",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/exchange-rates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "exchange-rates"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "from_currency",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to_currency",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List exchange rates"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create exchange rate",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/exchange-rates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "exchange-rates"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create exchange rate",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"from_currency\": \"string\",\n  \"to_currency\": \"string\",\n  \"rate\": 0,\n  \"effective_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List invoices",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/invoices",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "invoices"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List invoices"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create invoice",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/invoices",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "invoices"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create invoice",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"sales\",\n  \"contact_name\": \"string\",\n  \"date\": \"string\",\n  \"due_date\": \"string\",\n  \"lines\": [],\n  \"currency\": \"string\",\n  \"notes\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List journal entries",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/journal-entries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "journal-entries"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "account_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List journal entries"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create journal entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/journal-entries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "journal-entries"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create journal entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"date\": \"string\",\n  \"description\": \"string\",\n  \"reference\": \"string\",\n  \"lines\": [],\n  \"currency\": \"string\",\n  \"post\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List payments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/payments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "payments"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List payments"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/payments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "payments"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create payment",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"receipt\",\n  \"contact_name\": \"string\",\n  \"date\": \"string\",\n  \"amount\": 0,\n  \"method\": \"string\",\n  \"bank_account_id\": \"string\",\n  \"reference\": \"string\",\n  \"allocations\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List accounting periods",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/periods",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "periods"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List accounting periods"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create period",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/periods",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "periods"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create period",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"start_date\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List recurring entries",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/recurring",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "recurring"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List recurring entries"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create recurring entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/recurring",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "recurring"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create recurring entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"type\": \"journal_entry\",\n  \"template\": {},\n  \"frequency\": \"string\",\n  \"next_run\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List tax codes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/tax-codes",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "tax-codes"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List tax codes"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create tax code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/tax-codes",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "tax-codes"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create tax code",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"string\",\n  \"name\": \"string\",\n  \"rate\": 0,\n  \"type\": \"inclusive\",\n  \"category\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get account",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/accounts/:account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "accounts",
                ":account_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update account",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/accounts/:account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "accounts",
                ":account_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"sub_type\": \"string\",\n  \"description\": \"string\",\n  \"is_active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete account",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/accounts/:account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "accounts",
                ":account_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get bank account",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts/:bank_account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts",
                ":bank_account_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get bank account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update bank account",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts/:bank_account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts",
                ":bank_account_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update bank account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"account_number\": \"string\",\n  \"bank_name\": \"string\",\n  \"is_active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete bank account",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts/:bank_account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts",
                ":bank_account_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete bank account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get currency",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/currencies/:currency_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "currencies",
                ":currency_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "currency_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get currency"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update currency",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/currencies/:currency_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "currencies",
                ":currency_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "currency_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update currency",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"symbol\": \"string\",\n  \"decimal_places\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete currency",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/currencies/:currency_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "currencies",
                ":currency_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "currency_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete currency"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get exchange rate",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/exchange-rates/:rate_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "exchange-rates",
                ":rate_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "rate_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get exchange rate"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete exchange rate",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/exchange-rates/:rate_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "exchange-rates",
                ":rate_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "rate_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete exchange rate"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get invoice",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/invoices/:invoice_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "invoices",
                ":invoice_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update invoice",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/invoices/:invoice_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "invoices",
                ":invoice_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update invoice",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"contact_name\": \"string\",\n  \"date\": \"string\",\n  \"due_date\": \"string\",\n  \"notes\": \"string\",\n  \"lines\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete invoice",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/invoices/:invoice_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "invoices",
                ":invoice_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get journal entry",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/journal-entries/:entry_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "journal-entries",
                ":entry_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get journal entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update journal entry",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/journal-entries/:entry_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "journal-entries",
                ":entry_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update journal entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"date\": \"string\",\n  \"description\": \"string\",\n  \"reference\": \"string\",\n  \"lines\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete journal entry",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/journal-entries/:entry_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "journal-entries",
                ":entry_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete journal entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get period",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/periods/:period_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "periods",
                ":period_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update period",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/periods/:period_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "periods",
                ":period_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update period",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"start_date\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete period",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/periods/:period_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "periods",
                ":period_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get recurring entry",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/recurring/:recurring_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "recurring",
                ":recurring_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get recurring entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update recurring entry",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/recurring/:recurring_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "recurring",
                ":recurring_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update recurring entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"template\": {},\n  \"frequency\": \"string\",\n  \"next_run\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete recurring entry",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/recurring/:recurring_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "recurring",
                ":recurring_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete recurring entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tax code",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/tax-codes/:tax_code_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "tax-codes",
                ":tax_code_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "tax_code_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get tax code"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update tax code",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/tax-codes/:tax_code_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "tax-codes",
                ":tax_code_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "tax_code_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update tax code",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"rate\": 0,\n  \"type\": \"string\",\n  \"category\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete tax code",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/tax-codes/:tax_code_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "tax-codes",
                ":tax_code_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "tax_code_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete tax code"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Execute recurring entry now",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/recurring/:recurring_id/execute",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "recurring",
                ":recurring_id",
                "execute"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute recurring entry now"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "General ledger report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/general-ledger",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "general-ledger"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "account_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "General ledger report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get bank transaction",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-transactions/:transaction_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-transactions",
                ":transaction_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "transaction_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get bank transaction"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get payment",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/payments/:payment_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "payments",
                ":payment_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "payment_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get payment"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Import bank transactions",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts/:bank_account_id/import",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts",
                ":bank_account_id",
                "import"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Import bank transactions",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transactions\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List bank transactions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts/:bank_account_id/transactions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts",
                ":bank_account_id",
                "transactions"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List bank transactions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Match bank transaction to journal entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-transactions/:transaction_id/match",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-transactions",
                ":transaction_id",
                "match"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "transaction_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Match bank transaction to journal entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"entry_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Post journal entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/journal-entries/:entry_id/post",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "journal-entries",
                ":entry_id",
                "post"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Post a draft journal entry to the ledger."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Profit and loss report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/profit-and-loss",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "profit-and-loss"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Profit and loss report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reconcile bank account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/bank-accounts/:bank_account_id/reconcile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "bank-accounts",
                ":bank_account_id",
                "reconcile"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reconcile bank account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transaction_ids\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reopen period",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/periods/:period_id/reopen",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "periods",
                ":period_id",
                "reopen"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reopen period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reverse journal entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/journal-entries/:entry_id/reverse",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "journal-entries",
                ":entry_id",
                "reverse"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reverse journal entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"date\": \"string\",\n  \"description\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Tax report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/tax",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "tax"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Tax report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Trial balance report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/reports/trial-balance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "reports",
                "trial-balance"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "period_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Trial balance report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Void invoice",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/invoices/:invoice_id/void",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "invoices",
                ":invoice_id",
                "void"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Void invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Void payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/accounting/payments/:payment_id/void",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "accounting",
                "payments",
                ":payment_id",
                "void"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "payment_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Void payment"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Roles",
      "description": "Role-based access control — create roles, assign permissions, manage user-role assignments.",
      "item": [
        {
          "name": "Assign permissions to role",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles/:role_id/permissions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles",
                ":role_id",
                "permissions"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Assign permissions to role",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"permissions\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Assign role to user",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles/assign",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles",
                "assign"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Assign role to user",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": \"string\",\n  \"role_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List roles",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List roles"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create role",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create role",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"parent_role_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get role",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles/:role_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles",
                ":role_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get role"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update role",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles/:role_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles",
                ":role_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update role",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete role",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles/:role_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles",
                ":role_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete role"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List user roles",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/users/:user_id/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "users",
                ":user_id",
                "roles"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List user roles"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Remove role from user",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/roles/:role_id/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "roles",
                ":role_id",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove role from user"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Assign permissions to role",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/roles/:role_id/permissions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles",
                ":role_id",
                "permissions"
              ],
              "variable": [
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Assign permissions to role",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"permissions\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Assign role to user",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/roles/assign",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles",
                "assign"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Assign role to user",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": \"string\",\n  \"role_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List roles",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List roles"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create role",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create role",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"parent_role_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get role",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/roles/:role_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles",
                ":role_id"
              ],
              "variable": [
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get role"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update role",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/roles/:role_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles",
                ":role_id"
              ],
              "variable": [
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update role",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete role",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/roles/:role_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles",
                ":role_id"
              ],
              "variable": [
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete role"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List user roles",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/users/:user_id/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "users",
                ":user_id",
                "roles"
              ],
              "variable": [
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List user roles"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Remove role from user",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/roles/:role_id/users/:user_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "roles",
                ":role_id",
                "users",
                ":user_id"
              ],
              "variable": [
                {
                  "key": "role_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove role from user"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Governance",
      "description": "Tenant governance settings — security policies, session rules, password requirements, IP allowlists.",
      "item": [
        {
          "name": "Get governance settings",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/governance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "governance"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get governance settings"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update governance settings",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/governance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "governance"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update governance settings",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"audit_retention_days\": 0,\n  \"session_duration_secs\": 0,\n  \"password_min_length\": 0,\n  \"ip_allowlist\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Simulate RLS policy",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/policies/simulate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "policies",
                "simulate"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Simulate RLS policy",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"policy\": {},\n  \"auth_context\": {},\n  \"sample_data\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get governance settings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/governance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "governance"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get governance settings"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update governance settings",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/governance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "governance"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update governance settings",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"audit_retention_days\": 0,\n  \"session_duration_secs\": 0,\n  \"password_min_length\": 0,\n  \"ip_allowlist\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Simulate RLS policy",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/policies/simulate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "policies",
                "simulate"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Simulate RLS policy",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"policy\": {},\n  \"auth_context\": {},\n  \"sample_data\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Dashboards",
      "description": "Custom dashboard management with configurable widgets.",
      "item": [
        {
          "name": "Add widget to dashboard",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards/:dashboard_id/widgets",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards",
                ":dashboard_id",
                "widgets"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Add widget to dashboard",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"config_json\": {},\n  \"position_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List dashboards",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List dashboards"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create dashboard",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create dashboard",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"layout_json\": {},\n  \"is_public\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get dashboard",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards/:dashboard_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards",
                ":dashboard_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get dashboard"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update dashboard",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards/:dashboard_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards",
                ":dashboard_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update dashboard",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"layout_json\": {},\n  \"is_public\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete dashboard",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards/:dashboard_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards",
                ":dashboard_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete dashboard"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update widget",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards/:dashboard_id/widgets/:widget_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards",
                ":dashboard_id",
                "widgets",
                ":widget_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "widget_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update widget",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"config_json\": {},\n  \"position_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete widget",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/dashboards/:dashboard_id/widgets/:widget_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "dashboards",
                ":dashboard_id",
                "widgets",
                ":widget_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "widget_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete widget"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get public dashboard",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dashboards/public/:share_token",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards",
                "public",
                ":share_token"
              ],
              "variable": [
                {
                  "key": "share_token",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Access a publicly shared dashboard. No authentication required."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Add widget to dashboard",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/dashboards/:dashboard_id/widgets",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards",
                ":dashboard_id",
                "widgets"
              ],
              "variable": [
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Add widget to dashboard",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"config_json\": {},\n  \"position_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List dashboards",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dashboards",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List dashboards"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create dashboard",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/dashboards",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create dashboard",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"layout_json\": {},\n  \"is_public\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get dashboard",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dashboards/:dashboard_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards",
                ":dashboard_id"
              ],
              "variable": [
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get dashboard"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update dashboard",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/dashboards/:dashboard_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards",
                ":dashboard_id"
              ],
              "variable": [
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update dashboard",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"layout_json\": {},\n  \"is_public\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete dashboard",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dashboards/:dashboard_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards",
                ":dashboard_id"
              ],
              "variable": [
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete dashboard"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update widget",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/dashboards/:dashboard_id/widgets/:widget_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards",
                ":dashboard_id",
                "widgets",
                ":widget_id"
              ],
              "variable": [
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "widget_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update widget",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"config_json\": {},\n  \"position_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete widget",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/dashboards/:dashboard_id/widgets/:widget_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "dashboards",
                ":dashboard_id",
                "widgets",
                ":widget_id"
              ],
              "variable": [
                {
                  "key": "dashboard_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "widget_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete widget"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Scheduled Jobs",
      "description": "Scheduled job management — cron-based or one-time execution tasks.",
      "item": [
        {
          "name": "List scheduled jobs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/scheduled-jobs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "scheduled-jobs"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List scheduled jobs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create scheduled job",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/scheduled-jobs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "scheduled-jobs"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create scheduled job",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"cron_expression\": \"string\",\n  \"run_at\": \"string\",\n  \"action_type\": \"string\",\n  \"action_config\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get scheduled job",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/scheduled-jobs/:job_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "scheduled-jobs",
                ":job_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get scheduled job"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update scheduled job",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/scheduled-jobs/:job_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "scheduled-jobs",
                ":job_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update scheduled job",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"cron_expression\": \"string\",\n  \"action_type\": \"string\",\n  \"action_config\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete scheduled job",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/scheduled-jobs/:job_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "scheduled-jobs",
                ":job_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete scheduled job"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Execute scheduled job",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/scheduled-jobs/:job_id/execute",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "scheduled-jobs",
                ":job_id",
                "execute"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute scheduled job"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List scheduled jobs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/scheduled-jobs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "scheduled-jobs"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List scheduled jobs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create scheduled job",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/scheduled-jobs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "scheduled-jobs"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create scheduled job",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"cron_expression\": \"string\",\n  \"run_at\": \"string\",\n  \"action_type\": \"string\",\n  \"action_config\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get scheduled job",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/scheduled-jobs/:job_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "scheduled-jobs",
                ":job_id"
              ],
              "variable": [
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get scheduled job"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update scheduled job",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/scheduled-jobs/:job_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "scheduled-jobs",
                ":job_id"
              ],
              "variable": [
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update scheduled job",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"cron_expression\": \"string\",\n  \"action_type\": \"string\",\n  \"action_config\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete scheduled job",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/scheduled-jobs/:job_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "scheduled-jobs",
                ":job_id"
              ],
              "variable": [
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete scheduled job"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Execute scheduled job",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/scheduled-jobs/:job_id/execute",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "scheduled-jobs",
                ":job_id",
                "execute"
              ],
              "variable": [
                {
                  "key": "job_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute scheduled job"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Saved Reports",
      "description": "Saved report definitions with scheduling and export capabilities.",
      "item": [
        {
          "name": "List saved reports",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/saved-reports",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "saved-reports"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List saved reports"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create saved report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/saved-reports",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "saved-reports"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create saved report",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"type\": \"string\",\n  \"config_json\": {},\n  \"schedule\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get saved report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/saved-reports/:report_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "saved-reports",
                ":report_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update saved report",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/saved-reports/:report_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "saved-reports",
                ":report_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update saved report",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"config_json\": {},\n  \"schedule\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete saved report",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/saved-reports/:report_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "saved-reports",
                ":report_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Export saved report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/saved-reports/:report_id/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "saved-reports",
                ":report_id",
                "export"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "format",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Export saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Run saved report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/saved-reports/:report_id/run",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "saved-reports",
                ":report_id",
                "run"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Run saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List saved reports",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/saved-reports",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "saved-reports"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List saved reports"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create saved report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/saved-reports",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "saved-reports"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create saved report",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"type\": \"string\",\n  \"config_json\": {},\n  \"schedule\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get saved report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/saved-reports/:report_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "saved-reports",
                ":report_id"
              ],
              "variable": [
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update saved report",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/saved-reports/:report_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "saved-reports",
                ":report_id"
              ],
              "variable": [
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update saved report",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"config_json\": {},\n  \"schedule\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete saved report",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/saved-reports/:report_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "saved-reports",
                ":report_id"
              ],
              "variable": [
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Export saved report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/saved-reports/:report_id/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "saved-reports",
                ":report_id",
                "export"
              ],
              "variable": [
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "format",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Export saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Run saved report",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/saved-reports/:report_id/run",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "saved-reports",
                ":report_id",
                "run"
              ],
              "variable": [
                {
                  "key": "report_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Run saved report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Integrations",
      "description": "Third-party integration management with sync capabilities.",
      "item": [
        {
          "name": "List integrations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/integrations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "integrations"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List integrations"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/integrations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "integrations"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create integration",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"string\",\n  \"name\": \"string\",\n  \"config_json\": {},\n  \"sync_direction\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get integration",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/integrations/:integration_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "integrations",
                ":integration_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get integration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update integration",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/integrations/:integration_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "integrations",
                ":integration_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update integration",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"config_json\": {},\n  \"status\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete integration",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/integrations/:integration_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "integrations",
                ":integration_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete integration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List sync logs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/integrations/:integration_id/logs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "integrations",
                ":integration_id",
                "logs"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List sync logs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Sync integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/integrations/:integration_id/sync",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "integrations",
                ":integration_id",
                "sync"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Sync integration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List integrations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/integrations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "integrations"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List integrations"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/integrations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "integrations"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create integration",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"string\",\n  \"name\": \"string\",\n  \"config_json\": {},\n  \"sync_direction\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get integration",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/integrations/:integration_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "integrations",
                ":integration_id"
              ],
              "variable": [
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get integration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update integration",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/integrations/:integration_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "integrations",
                ":integration_id"
              ],
              "variable": [
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update integration",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"config_json\": {},\n  \"status\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete integration",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/integrations/:integration_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "integrations",
                ":integration_id"
              ],
              "variable": [
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete integration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List sync logs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/integrations/:integration_id/logs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "integrations",
                ":integration_id",
                "logs"
              ],
              "variable": [
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List sync logs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Sync integration",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/integrations/:integration_id/sync",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "integrations",
                ":integration_id",
                "sync"
              ],
              "variable": [
                {
                  "key": "integration_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Sync integration"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Plugins",
      "description": "Plugin and custom function management — install, configure, execute.",
      "item": [
        {
          "name": "List custom functions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/functions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "functions"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List custom functions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create custom function",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/functions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "functions"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create custom function",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"trigger_type\": \"string\",\n  \"code\": \"string\",\n  \"runtime\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get function",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/functions/:function_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "functions",
                ":function_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get function"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update function",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/functions/:function_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "functions",
                ":function_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update function",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"code\": \"string\",\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete function",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/functions/:function_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "functions",
                ":function_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete function"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Execute function",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/functions/:function_id/execute",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "functions",
                ":function_id",
                "execute"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute function",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"input\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get plugin",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/plugins/:plugin_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "plugins",
                ":plugin_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "plugin_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get plugin"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update plugin",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/plugins/:plugin_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "plugins",
                ":plugin_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "plugin_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update plugin",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"config_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Uninstall plugin",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/plugins/:plugin_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "plugins",
                ":plugin_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "plugin_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Uninstall plugin"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List plugins",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/plugins",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "plugins"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List plugins"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Install plugin",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/plugins",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "plugins"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Install plugin",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"version\": \"string\",\n  \"manifest_json\": {},\n  \"config_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List function logs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/functions/:function_id/logs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "functions",
                ":function_id",
                "logs"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List function logs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List custom functions",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/functions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "functions"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List custom functions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create custom function",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/functions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "functions"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create custom function",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"trigger_type\": \"string\",\n  \"code\": \"string\",\n  \"runtime\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get function",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/functions/:function_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "functions",
                ":function_id"
              ],
              "variable": [
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get function"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update function",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/functions/:function_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "functions",
                ":function_id"
              ],
              "variable": [
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update function",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"code\": \"string\",\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete function",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/functions/:function_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "functions",
                ":function_id"
              ],
              "variable": [
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete function"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Execute function",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/functions/:function_id/execute",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "functions",
                ":function_id",
                "execute"
              ],
              "variable": [
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute function",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"input\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get plugin",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/plugins/:plugin_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "plugins",
                ":plugin_id"
              ],
              "variable": [
                {
                  "key": "plugin_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get plugin"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update plugin",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/plugins/:plugin_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "plugins",
                ":plugin_id"
              ],
              "variable": [
                {
                  "key": "plugin_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update plugin",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"config_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Uninstall plugin",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/plugins/:plugin_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "plugins",
                ":plugin_id"
              ],
              "variable": [
                {
                  "key": "plugin_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Uninstall plugin"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List plugins",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/plugins",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "plugins"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List plugins"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Install plugin",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/plugins",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "plugins"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Install plugin",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"version\": \"string\",\n  \"manifest_json\": {},\n  \"config_json\": {},\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List function logs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/functions/:function_id/logs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "functions",
                ":function_id",
                "logs"
              ],
              "variable": [
                {
                  "key": "function_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List function logs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Branding",
      "description": "Tenant branding customization — logos, colors, domain, CSS.",
      "item": [
        {
          "name": "Get branding settings",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/branding",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "branding"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get branding settings"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update branding",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/branding",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "branding"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update branding",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"custom_domain\": \"string\",\n  \"logo_url\": \"string\",\n  \"favicon_url\": \"string\",\n  \"primary_color\": \"string\",\n  \"brand_name\": \"string\",\n  \"footer_text\": \"string\",\n  \"custom_css\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get branding settings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/branding",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "branding"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get branding settings"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update branding",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/branding",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "branding"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update branding",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"custom_domain\": \"string\",\n  \"logo_url\": \"string\",\n  \"favicon_url\": \"string\",\n  \"primary_color\": \"string\",\n  \"brand_name\": \"string\",\n  \"footer_text\": \"string\",\n  \"custom_css\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: AI Providers",
      "description": "AI provider configuration and usage monitoring.",
      "item": [
        {
          "name": "List AI providers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/ai-providers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "ai-providers"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List AI providers"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create AI provider",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/ai-providers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "ai-providers"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create AI provider",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"provider_type\": \"string\",\n  \"api_key\": \"string\",\n  \"config_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get AI provider",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/ai-providers/:provider_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "ai-providers",
                ":provider_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "provider_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get AI provider"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update AI provider",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/ai-providers/:provider_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "ai-providers",
                ":provider_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "provider_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update AI provider",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"api_key\": \"string\",\n  \"config_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete AI provider",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/ai-providers/:provider_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "ai-providers",
                ":provider_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "provider_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete AI provider"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get AI usage stats",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/ai-usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "ai-usage"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get AI usage stats"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List AI providers",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai-providers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai-providers"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List AI providers"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create AI provider",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai-providers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai-providers"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create AI provider",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"provider_type\": \"string\",\n  \"api_key\": \"string\",\n  \"config_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get AI provider",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai-providers/:provider_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai-providers",
                ":provider_id"
              ],
              "variable": [
                {
                  "key": "provider_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get AI provider"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update AI provider",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai-providers/:provider_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai-providers",
                ":provider_id"
              ],
              "variable": [
                {
                  "key": "provider_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update AI provider",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"api_key\": \"string\",\n  \"config_json\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete AI provider",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai-providers/:provider_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai-providers",
                ":provider_id"
              ],
              "variable": [
                {
                  "key": "provider_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete AI provider"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get AI usage stats",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai-usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai-usage"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get AI usage stats"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Object Types",
      "description": "Define your data schema. Object types are like database tables.",
      "item": [
        {
          "name": "List object types",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all object types for the authenticated tenant."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create object type",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a new object type (schema). Requires \"schema\" scope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get object type",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get a single object type by ID."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update object type",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Rename an object type. Requires \"schema\" scope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete object type",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Permanently deletes the object type, all its properties, objects, and associated data. This is destructive and cannot be undone."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List object types (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List object types (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create object type (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create object type (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get object type (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get object type (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update object type (admin)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update object type (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete object type (admin)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete object type (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Properties",
      "description": "Typed fields on object types — 22 data types with indexing and validation.",
      "item": [
        {
          "name": "List properties",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/properties",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "properties"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all properties defined on an object type."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create property",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/properties",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "properties"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Add a typed field to an object type. Requires \"schema\" scope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"data_type\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update property",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/properties/:property_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "properties",
                ":property_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "property_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update property settings. Name and data_type cannot be changed.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"is_indexed\": true,\n  \"is_sortable\": true,\n  \"is_unique\": true,\n  \"is_required\": true,\n  \"default_value\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete property",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/properties/:property_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "properties",
                ":property_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "property_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete a property from an object type. Existing values become untyped."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List properties (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/properties",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "properties"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List properties (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create property (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/properties",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "properties"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create property (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"data_type\": {},\n  \"is_indexed\": true,\n  \"is_sortable\": true,\n  \"is_unique\": true,\n  \"is_required\": true,\n  \"enum_values\": [],\n  \"description\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update property (admin)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/properties/:property_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "properties",
                ":property_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "property_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update property (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"is_indexed\": true,\n  \"is_sortable\": true,\n  \"is_unique\": true,\n  \"is_required\": true,\n  \"description\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete property (admin)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/object-types/:object_type_id/properties/:property_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "object-types",
                ":object_type_id",
                "properties",
                ":property_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "property_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete property (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Objects",
      "description": "CRUD on data records with versioning, batch operations, and soft-delete/restore.",
      "item": [
        {
          "name": "Batch create objects",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/batch/create",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                "batch",
                "create"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create up to 100 objects in a single request. Requires \"write\" scope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"objects\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create object",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a new object of the given type. Requires \"write\" scope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"properties\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get object",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Retrieve a single object by type and ID."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update object",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update properties on an existing object. Requires \"write\" scope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"properties\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete object",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Soft-delete an object (moves to trash). Use force=true for permanent deletion."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List objects",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/list",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                "list"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "20",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "order",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List objects of a given type with pagination, filtering, and sorting."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Batch create objects (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/batch/create",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                "batch",
                "create"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Batch create objects (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"objects\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Batch read objects (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/batch/read",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                "batch",
                "read"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Batch read objects (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_ids\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Batch update objects (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/batch/update",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                "batch",
                "update"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Batch update objects (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"updates\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create object (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create object (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"properties\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get object (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/:object_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                ":object_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get object (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update object (admin)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/:object_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                ":object_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update object (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"properties\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete object (admin)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/:object_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                ":object_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete object (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List objects (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/list",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                "list"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List objects (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Restore deleted object (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/:object_id/restore",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                ":object_id",
                "restore"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Restore deleted object (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Batch read objects",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/batch/read",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                "batch",
                "read"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Retrieve multiple objects by ID in a single request. Max 100 IDs.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_ids\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Batch update objects",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/batch/update",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                "batch",
                "update"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update multiple objects in a single request. Max 100 items.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"updates\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List trashed objects",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/trash",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                "trash"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List soft-deleted objects that can be restored."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Restore deleted object",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/restore",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "restore"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Restore a soft-deleted object from trash."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Search",
      "description": "Property-based filtering, full-text search, and aggregation.",
      "item": [
        {
          "name": "Search objects",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                "search"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Filter and search objects with complex queries. Requires \"read\" scope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filters\": [],\n  \"sort\": \"string\",\n  \"order\": \"asc\",\n  \"limit\": 0,\n  \"cursor\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Search objects (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:object_type_id/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":object_type_id",
                "search"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Search objects (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filters\": [],\n  \"text_query\": \"string\",\n  \"sort\": {},\n  \"limit\": 0,\n  \"cursor\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Aggregate objects",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/aggregate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                "aggregate"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Run aggregate queries (count, sum, avg, min, max) on object properties with optional filtering and grouping.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"aggregations\": [],\n  \"filters\": [],\n  \"group_by\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Views",
      "description": "Saved filter/sort/column presets for object types.",
      "item": [
        {
          "name": "List saved views",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/views",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "views"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List saved views (filter presets) for an object type."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create saved view",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/views",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "views"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a saved view with filters, sort, and column configuration.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"filters\": [],\n  \"sort\": {},\n  \"columns\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update saved view",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/views/:view_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "views",
                ":view_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "view_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update an existing saved view.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"filters\": [],\n  \"sort\": {},\n  \"columns\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete saved view",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/views/:view_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "views",
                ":view_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "view_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete a saved view."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Associations",
      "description": "Typed relationships between objects across types.",
      "item": [
        {
          "name": "Create/update association (admin)",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:from_type/:from_id/associations/:association_type/:to_type/:to_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":from_type",
                ":from_id",
                "associations",
                ":association_type",
                ":to_type",
                ":to_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "from_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "from_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "association_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create/update association (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"meta\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete association (admin)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:from_type/:from_id/associations/:association_type/:to_type/:to_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":from_type",
                ":from_id",
                "associations",
                ":association_type",
                ":to_type",
                ":to_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "from_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "from_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "association_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete association (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List associations (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/objects/:type/:id/associations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "objects",
                ":type",
                ":id",
                "associations"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "direction",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "association_type",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List associations (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create or update association",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:from_type/:from_id/associations/:association_type/:to_type/:to_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":from_type",
                ":from_id",
                "associations",
                ":association_type",
                ":to_type",
                ":to_id"
              ],
              "variable": [
                {
                  "key": "from_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "from_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "association_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create or replace an association between two objects. Optionally include a meta object (max 10KB).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"meta\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete association",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:from_type/:from_id/associations/:association_type/:to_type/:to_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":from_type",
                ":from_id",
                "associations",
                ":association_type",
                ":to_type",
                ":to_id"
              ],
              "variable": [
                {
                  "key": "from_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "from_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "association_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "to_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove an association between two objects."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List associations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:type/:id/associations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":type",
                ":id",
                "associations"
              ],
              "variable": [
                {
                  "key": "type",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "direction",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "association_type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List associations for an object, optionally filtering by type and direction."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Files",
      "description": "File storage on Cloudflare R2 with variants, signed URLs, versioning, and batch ops.",
      "item": [
        {
          "name": "Batch delete files",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/files/batch/delete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "batch",
                "delete"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete multiple files in a single request. Max 100.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"file_ids\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Batch read file metadata",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/files/batch/read",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "batch",
                "read"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Retrieve metadata for multiple files by ID. Max 100.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"file_ids\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Batch update file metadata",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/files/batch/update",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "batch",
                "update"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update access or folder for multiple files. Max 100.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"file_ids\": [],\n  \"access\": {},\n  \"folder\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Confirm presigned upload",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/upload-complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "upload-complete"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Marks a presigned upload as complete. Status changes from \"pending\" to \"ready\"."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Generate signed URL",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/signed-url",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "signed-url"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Creates a time-limited, HMAC-signed URL for accessing private files without authentication.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"expires_in\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get file metadata",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get metadata for a single file."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update file metadata",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update filename, access level, folder, meta, or linked object. Triggers file.updated webhook.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filename\": \"string\",\n  \"access\": {},\n  \"folder\": \"string\",\n  \"meta\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete file",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Soft-delete a file. R2 object is cleaned up asynchronously. Triggers file.deleted webhook."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Download file content",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/content",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "content"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "token",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "expires",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "t",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Returns raw binary content. Also accessible via signed URLs without Bearer auth when token/expires/t query params are present."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get image variant",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/variants/:variant",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "variants",
                ":variant"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "variant",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "w",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "h",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "fit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "format",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "On-the-fly image transformation. Only for image files. Results are cached."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Storage statistics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/stats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "stats"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get file storage usage and quota information."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get presigned upload URL",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/files/upload-url",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "upload-url"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Returns a presigned URL for direct client-side upload to R2, bypassing the Worker size limit.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filename\": \"string\",\n  \"mime_type\": \"string\",\n  \"size_bytes\": 0,\n  \"access\": {},\n  \"folder\": \"string\",\n  \"meta\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List trashed files",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/trash",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "trash"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List soft-deleted files that can be restored."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List file versions",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/versions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "versions"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get the version history for a file."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List folders",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/folders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "folders"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all file folders with counts and sizes."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Restore deleted file",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/restore",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "restore"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Restore a soft-deleted file from trash."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Search files",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/files/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "search"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Filter files by MIME type, access level, folder, filename, date range, and linked objects.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mime_type\": \"string\",\n  \"mime_category\": \"string\",\n  \"access\": {},\n  \"status\": {},\n  \"folder\": \"string\",\n  \"filename\": \"string\",\n  \"object_type_id\": \"string\",\n  \"object_id\": \"string\",\n  \"created_after\": \"string\",\n  \"created_before\": \"string\",\n  \"sort\": \"size_bytes\",\n  \"sort_dir\": {},\n  \"limit\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Clean stale uploads",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/stale-cleanup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "stale-cleanup"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove pending files older than 24 hours that were never completed."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Upload file",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/upload",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                "upload"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Direct multipart upload. Max 25MB per file. For larger files, use the presigned URL flow."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Upload file content to presigned slot",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/files/:file_id/upload-put",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "files",
                ":file_id",
                "upload-put"
              ],
              "variable": [
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Upload raw file content for a presigned upload slot."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Events",
      "description": "Custom event tracking for analytics and automation.",
      "item": [
        {
          "name": "Server-sent events stream",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/events/stream",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "events",
                "stream"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Real-time SSE stream of object and file events."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List available event types",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/events/types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "events",
                "types"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List available event types"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Track custom event",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/events",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "events"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Track a custom event for analytics and automation triggers.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"event_type\": \"string\",\n  \"data\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List custom events",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/events/list",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "events",
                "list"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List custom events"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Errors",
      "description": "Client-side error reporting.",
      "item": [
        {
          "name": "Report client error",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/errors/report",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "errors",
                "report"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Report a client-side error for tracking and alerting.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"string\",\n  \"stack\": \"string\",\n  \"source\": \"string\",\n  \"level\": \"error\",\n  \"path\": \"string\",\n  \"metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Versions",
      "description": "Object version history.",
      "item": [
        {
          "name": "List object version history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/versions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "versions"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Returns all previous versions of an object, newest first."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Import / Export",
      "description": "Bulk data import (CSV/JSON) and async export.",
      "item": [
        {
          "name": "Download export",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/data/export/:export_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "data",
                "export",
                ":export_id"
              ],
              "variable": [
                {
                  "key": "export_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Download the exported data file."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Import data",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/data/import",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "data",
                "import"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Bulk import up to 10,000 rows from CSV, JSON file, or inline JSON body.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"format\": \"json\",\n  \"data\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Start data export",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/data/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "data",
                "export"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Initiate an async export of all objects of a type. Max 100,000 records.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"format\": \"json\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Comments",
      "description": "Activity feed comments on objects.",
      "item": [
        {
          "name": "List comments",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/comments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "comments"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List comments on an object, newest first."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create comment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/comments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "comments"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Add a comment to an object (activity feed). Requires authenticated user.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"body\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update comment",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/comments/:comment_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "comments",
                ":comment_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "comment_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Edit a comment. Only the author can edit their own comments.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"body\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete comment",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/comments/:comment_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "comments",
                ":comment_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "comment_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete a comment. Only the author can delete their own comments."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Workflows",
      "description": "Object approval workflow operations — submit, approve, reject.",
      "item": [
        {
          "name": "Approve object",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/approve",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "approve"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Approve an object in the current workflow stage.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"comment\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get workflow status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/workflow-status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "workflow-status"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get the current approval workflow status for an object."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reject object",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/reject",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "reject"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reject an object in the current workflow stage.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Submit for review",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/objects/:object_type_id/:object_id/submit-for-review",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "objects",
                ":object_type_id",
                ":object_id",
                "submit-for-review"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Submit an object for approval workflow review."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List workflows",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/workflows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "workflows"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List workflows"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create workflow",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/workflows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "workflows"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create workflow",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"stages\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update workflow",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/workflows/:workflow_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "workflows",
                ":workflow_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "workflow_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update workflow",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"stages\": [],\n  \"enabled\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete workflow",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/object-types/:object_type_id/workflows/:workflow_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "object-types",
                ":object_type_id",
                "workflows",
                ":workflow_id"
              ],
              "variable": [
                {
                  "key": "object_type_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "workflow_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "force",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "confirm_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete workflow"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Reports",
      "description": "Pipeline, time series, leaderboard, and funnel reports.",
      "item": [
        {
          "name": "Funnel report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/reports/funnel",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "reports",
                "funnel"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a multi-step funnel conversion report.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"steps\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Leaderboard report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/reports/leaderboard",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "reports",
                "leaderboard"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a ranked leaderboard by a property value.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"group_by\": \"string\",\n  \"aggregation\": \"count\",\n  \"value_property\": \"string\",\n  \"limit\": 0,\n  \"filters\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Pipeline report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/reports/pipeline",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "reports",
                "pipeline"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a pipeline/funnel stage breakdown report.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"stage_property\": \"string\",\n  \"filters\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Time series report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/reports/timeseries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "reports",
                "timeseries"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a time series report with configurable intervals.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"date_property\": \"string\",\n  \"interval\": \"hour\",\n  \"aggregation\": \"count\",\n  \"value_property\": \"string\",\n  \"filters\": [],\n  \"start_date\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Email",
      "description": "Transactional email sending through configured providers.",
      "item": [
        {
          "name": "Send email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/email/send",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "email",
                "send"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Send a transactional email using the tenant's configured email provider.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"string\",\n  \"subject\": \"string\",\n  \"html\": \"string\",\n  \"text\": \"string\",\n  \"from\": \"string\",\n  \"reply_to\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "AI",
      "description": "Cloudflare Workers AI — chat, generation, embeddings, vector search, moderation, image description.",
      "item": [
        {
          "name": "Auto-tag content",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/auto-tag",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "auto-tag"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Automatically generate tags for an object based on its properties.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"object_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Chat completion",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/chat",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "chat"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a chat response with optional conversation history. Max 20 history messages, 50KB combined.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"string\",\n  \"history\": [],\n  \"model\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Chat with conversation history",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/conversations/:conversation_id/chat",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "conversations",
                ":conversation_id",
                "chat"
              ],
              "variable": [
                {
                  "key": "conversation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Chat with conversation history",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"string\",\n  \"model\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Describe image",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/describe",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "describe"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a text description of an image file stored in R2. Supports JPEG, PNG, WebP, GIF (max 10MB).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"file_id\": \"string\",\n  \"model\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Text generation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "generate"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate text from a prompt.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"prompt\": \"string\",\n  \"model\": \"string\",\n  \"max_tokens\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Index objects for vector search",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/index",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "index"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate embeddings for objects and insert them into the Vectorize index. Max 100 per request.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"object_ids\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Content moderation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/moderate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "moderate"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Classify text content for policy violations.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"text\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Summarise content",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/summarise",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "summarise"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate a summary of an object's text content.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"object_type_id\": \"string\",\n  \"object_id\": \"string\",\n  \"max_length\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Vector similarity search",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "search"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Search the Vectorize index for objects semantically similar to the query.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"query\": \"string\",\n  \"limit\": 0,\n  \"object_type_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List AI conversations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai/conversations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "conversations"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List AI conversations"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create AI conversation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/conversations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "conversations"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create AI conversation",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"string\",\n  \"model\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get AI conversation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai/conversations/:conversation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "conversations",
                ":conversation_id"
              ],
              "variable": [
                {
                  "key": "conversation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get AI conversation"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update AI conversation",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/conversations/:conversation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "conversations",
                ":conversation_id"
              ],
              "variable": [
                {
                  "key": "conversation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update AI conversation",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete AI conversation",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai/conversations/:conversation_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "conversations",
                ":conversation_id"
              ],
              "variable": [
                {
                  "key": "conversation_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete AI conversation"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Generate embeddings",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/ai/embeddings",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "embeddings"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate vector embeddings for one or more text inputs. Max 100 texts.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"model\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List available AI models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/ai/models",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "ai",
                "models"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List available Cloudflare Workers AI models grouped by capability."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Authentication",
      "description": "End-user auth: email/password, magic links, OAuth, phone OTP, anonymous sessions.",
      "item": [
        {
          "name": "Create anonymous session",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/anonymous",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "anonymous"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create an anonymous user with a session. Can be linked to a real account later."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Export user data",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/me/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "me",
                "export"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Export all data associated with the authenticated user (GDPR-style). Rate-limited to once per hour."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Request password reset",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/forgot-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "forgot-password"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Send a password reset email. Always returns 200 for security (anti-enumeration).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get current user",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/user",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "user"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Returns the currently authenticated user profile."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update current user",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/user",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "user"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update email, phone, password, or metadata for the authenticated user.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"phone\": \"string\",\n  \"password\": \"string\",\n  \"user_metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Log in",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/login",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "login"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Authenticate with email and password. Returns session tokens or MFA challenge.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Log out",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/logout",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "logout"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Revoke the current refresh token.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refresh_token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "OAuth callback",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/oauth/:provider/callback",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "oauth",
                ":provider",
                "callback"
              ],
              "variable": [
                {
                  "key": "provider",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Handle OAuth provider callback. Creates or links user account."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "OAuth redirect",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/oauth/:provider",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "oauth",
                ":provider"
              ],
              "variable": [
                {
                  "key": "provider",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "redirect_to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Redirect to OAuth provider (Google, GitHub, etc.) for authentication."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 302\", function () {",
                  "    pm.response.to.have.status(302);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Refresh tokens",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/refresh",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "refresh"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Exchange a refresh token for new access and refresh tokens.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refresh_token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reset password",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/reset-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "reset-password"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reset password using token from email. Revokes all refresh tokens.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\",\n  \"password\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Send magic link",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/magic-link",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "magic-link"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Send a passwordless magic-link login email.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Send SMS OTP",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/otp/send",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "otp",
                "send"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Send a one-time password via SMS to an E.164 phone number.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Sign up",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/signup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "signup"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a new user account with email and password. Sends verification email.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify email (GET)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "verify"
              ],
              "query": [
                {
                  "key": "token",
                  "value": "",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "type",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Verify email via link from verification email."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "verify"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Verify email address with token from signup email.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify magic link",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/magic-link/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "magic-link",
                "verify"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Exchange magic-link token for an auth session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify OTP",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/otp/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "otp",
                "verify"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Verify the one-time password and create an auth session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"string\",\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "MFA",
      "description": "TOTP-based multi-factor authentication enrollment, verification, and recovery.",
      "item": [
        {
          "name": "Challenge MFA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/mfa/challenge",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "mfa",
                "challenge"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Verify an MFA code during login. Returns user_id and verified status.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"factor_id\": \"string\",\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete MFA login",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/mfa/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "mfa",
                "complete"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Complete MFA-gated login with a TOTP code and MFA ticket.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mfa_ticket\": \"string\",\n  \"factor_id\": \"string\",\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Enroll TOTP factor",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/mfa/enroll",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "mfa",
                "enroll"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Begin TOTP MFA enrollment. Returns secret and QR code URI.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"friendly_name\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List MFA factors",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/mfa/factors",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "mfa",
                "factors"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all enrolled MFA factors for the current user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "MFA recovery",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/mfa/recover",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "mfa",
                "recover"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Bypass MFA using a recovery code. Consumes the recovery code.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mfa_ticket\": \"string\",\n  \"recovery_code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Unenroll MFA factor",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/mfa/:factor_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "mfa",
                ":factor_id"
              ],
              "variable": [
                {
                  "key": "factor_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove an MFA factor from the current user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify TOTP code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/mfa/verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "mfa",
                "verify"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Verify a TOTP code to complete MFA factor enrollment.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"factor_id\": \"string\",\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Sessions",
      "description": "User session listing and revocation.",
      "item": [
        {
          "name": "List active sessions",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/sessions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "sessions"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all active sessions for the authenticated user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Revoke all sessions",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/sessions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "sessions"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Revoke all active sessions for the authenticated user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Revoke session",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/sessions/:session_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "sessions",
                ":session_id"
              ],
              "variable": [
                {
                  "key": "session_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Revoke a specific session by ID."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Notifications",
      "description": "In-app notification management.",
      "item": [
        {
          "name": "Delete notification preference",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/notifications/preferences/:channel",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "notifications",
                "preferences",
                ":channel"
              ],
              "variable": [
                {
                  "key": "channel",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove a notification channel preference."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get notification preferences",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/notifications/preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "notifications",
                "preferences"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get notification channel preferences for the authenticated user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update notification preferences",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/notifications/preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "notifications",
                "preferences"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update notification channel preferences.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"channel\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List notifications",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/notifications",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "notifications"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List notifications for the authenticated user with pagination."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Mark all as read",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/notifications/read-all",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "notifications",
                "read-all"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Mark all notifications as read for the authenticated user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Mark notification read",
          "request": {
            "method": "PATCH",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/notifications/:notification_id/read",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "notifications",
                ":notification_id",
                "read"
              ],
              "variable": [
                {
                  "key": "notification_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Mark a single notification as read."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get unread count",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/notifications/count",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "notifications",
                "count"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get the number of unread notifications."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Passkeys",
      "description": "WebAuthn/FIDO2 passkey registration and authentication.",
      "item": [
        {
          "name": "Delete passkey",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/passkeys/:credential_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "passkeys",
                ":credential_id"
              ],
              "variable": [
                {
                  "key": "credential_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Remove a registered passkey."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List passkeys",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/passkeys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "passkeys"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List all passkeys registered for the authenticated user."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Begin passkey authentication",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/passkeys/authenticate/begin",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "passkeys",
                "authenticate",
                "begin"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get WebAuthn credential request options for passkey authentication."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete passkey authentication",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/passkeys/authenticate/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "passkeys",
                "authenticate",
                "complete"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Complete passkey authentication and receive a session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"credential\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Begin passkey registration",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/passkeys/register/begin",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "passkeys",
                "register",
                "begin"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get WebAuthn credential creation options for passkey registration."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Complete passkey registration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/passkeys/register/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "passkeys",
                "register",
                "complete"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Complete passkey registration with the credential from the browser.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"credential\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Public Forms",
      "description": "Public-facing form access and submission (no auth).",
      "item": [
        {
          "name": "Get public form",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "tenant_id",
                  "value": "",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Retrieve a published form definition including fields, settings, and branding."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Submit public form",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/forms/:form_id/submit",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "forms",
                ":form_id",
                "submit"
              ],
              "variable": [
                {
                  "key": "form_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Submit data through a public form. Creates an object in the linked type. Rate-limited.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "SAML / SSO",
      "description": "SAML 2.0 single sign-on integration.",
      "item": [
        {
          "name": "SAML ACS",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/saml/:provider/acs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "saml",
                ":provider",
                "acs"
              ],
              "variable": [
                {
                  "key": "provider",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Assertion Consumer Service endpoint. Receives SAML response from IdP, creates/links user, and redirects with session."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 302\", function () {",
                  "    pm.response.to.have.status(302);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "SAML login redirect",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/saml/:provider/login",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "saml",
                ":provider",
                "login"
              ],
              "variable": [
                {
                  "key": "provider",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Initiate SAML SSO by redirecting to the IdP."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 302\", function () {",
                  "    pm.response.to.have.status(302);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "SAML metadata",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/auth/saml/:provider/metadata",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "saml",
                ":provider",
                "metadata"
              ],
              "variable": [
                {
                  "key": "provider",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Returns SAML SP metadata XML for configuring the IdP."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Realtime",
      "description": "WebSocket subscriptions for live object and file change events.",
      "item": [
        {
          "name": "WebSocket upgrade",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/realtime",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "realtime"
              ],
              "query": [
                {
                  "key": "token",
                  "value": "",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "tenant_id",
                  "value": "",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Upgrades to a WebSocket connection for real-time event subscriptions. Uses Durable Objects with WebSocket Hibernation. Channels: objects:<type_id>, files, files:<folder>."
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 101\", function () {",
                  "    pm.response.to.have.status(101);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Short URLs",
      "description": "URL shortener service via obfy.uk — create, manage, and track short links.",
      "item": [
        {
          "name": "List short URLs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/short-urls",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "short-urls"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List short URLs"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create a short URL",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/short-urls",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "short-urls"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create a short URL",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get short URL details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/short-urls/:slug",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "short-urls",
                ":slug"
              ],
              "variable": [
                {
                  "key": "slug",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get short URL details"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update a short URL",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/short-urls/:slug",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "short-urls",
                ":slug"
              ],
              "variable": [
                {
                  "key": "slug",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update a short URL",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete a short URL",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/short-urls/:slug",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "short-urls",
                ":slug"
              ],
              "variable": [
                {
                  "key": "slug",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete a short URL"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Accounting",
      "description": "Double-entry accounting via tenant API: chart of accounts, journal entries, invoices, payments, bank reconciliation, tax codes, financial reports.",
      "item": [
        {
          "name": "Aged payables report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/aged-payables",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "aged-payables"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Aged payables report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Aged receivables report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/aged-receivables",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "aged-receivables"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Aged receivables report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Approve invoice",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/invoices/:invoice_id/approve",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "invoices",
                ":invoice_id",
                "approve"
              ],
              "variable": [
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Approve invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Balance sheet report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/balance-sheet",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "balance-sheet"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Balance sheet report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Cash flow statement",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/cash-flow",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "cash-flow"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Cash flow statement"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Close period",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/periods/:period_id/close",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "periods",
                ":period_id",
                "close"
              ],
              "variable": [
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Close period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List chart of accounts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "accounts"
              ],
              "query": [
                {
                  "key": "type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "active",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List chart of accounts"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "accounts"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"string\",\n  \"name\": \"string\",\n  \"type\": \"string\",\n  \"sub_type\": \"string\",\n  \"parent_id\": \"string\",\n  \"description\": \"string\",\n  \"currency\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List bank accounts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List bank accounts"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create bank account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create bank account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"account_number\": \"string\",\n  \"bank_name\": \"string\",\n  \"currency\": \"string\",\n  \"gl_account_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List currencies",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/currencies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "currencies"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List currencies"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create currency",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/currencies",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "currencies"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create currency",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"string\",\n  \"name\": \"string\",\n  \"symbol\": \"string\",\n  \"decimal_places\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List exchange rates",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/exchange-rates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "exchange-rates"
              ],
              "query": [
                {
                  "key": "from_currency",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to_currency",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List exchange rates"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create exchange rate",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/exchange-rates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "exchange-rates"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create exchange rate",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"from_currency\": \"string\",\n  \"to_currency\": \"string\",\n  \"rate\": 0,\n  \"effective_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List invoices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/invoices",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "invoices"
              ],
              "query": [
                {
                  "key": "type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List invoices"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create invoice",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/invoices",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "invoices"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create invoice",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"sales\",\n  \"contact_name\": \"string\",\n  \"date\": \"string\",\n  \"due_date\": \"string\",\n  \"lines\": [],\n  \"currency\": \"string\",\n  \"notes\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List journal entries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/journal-entries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "journal-entries"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "account_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List journal entries"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create journal entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/journal-entries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "journal-entries"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create journal entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"date\": \"string\",\n  \"description\": \"string\",\n  \"reference\": \"string\",\n  \"lines\": [],\n  \"currency\": \"string\",\n  \"post\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List payments",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/payments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "payments"
              ],
              "query": [
                {
                  "key": "type",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List payments"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/payments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "payments"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create payment",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"receipt\",\n  \"contact_name\": \"string\",\n  \"date\": \"string\",\n  \"amount\": 0,\n  \"method\": \"string\",\n  \"bank_account_id\": \"string\",\n  \"reference\": \"string\",\n  \"allocations\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List accounting periods",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/periods",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "periods"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List accounting periods"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create period",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/periods",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "periods"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create period",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"start_date\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List recurring entries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/recurring",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "recurring"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List recurring entries"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create recurring entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/recurring",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "recurring"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create recurring entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"type\": \"journal_entry\",\n  \"template\": {},\n  \"frequency\": \"string\",\n  \"next_run\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List tax codes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/tax-codes",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "tax-codes"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List tax codes"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create tax code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/tax-codes",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "tax-codes"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create tax code",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"string\",\n  \"name\": \"string\",\n  \"rate\": 0,\n  \"type\": \"inclusive\",\n  \"category\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get account",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/accounts/:account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "accounts",
                ":account_id"
              ],
              "variable": [
                {
                  "key": "account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update account",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/accounts/:account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "accounts",
                ":account_id"
              ],
              "variable": [
                {
                  "key": "account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"sub_type\": \"string\",\n  \"description\": \"string\",\n  \"is_active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete account",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/accounts/:account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "accounts",
                ":account_id"
              ],
              "variable": [
                {
                  "key": "account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get bank account",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts/:bank_account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts",
                ":bank_account_id"
              ],
              "variable": [
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get bank account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update bank account",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts/:bank_account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts",
                ":bank_account_id"
              ],
              "variable": [
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update bank account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"account_number\": \"string\",\n  \"bank_name\": \"string\",\n  \"is_active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete bank account",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts/:bank_account_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts",
                ":bank_account_id"
              ],
              "variable": [
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete bank account"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get currency",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/currencies/:currency_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "currencies",
                ":currency_id"
              ],
              "variable": [
                {
                  "key": "currency_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get currency"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update currency",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/currencies/:currency_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "currencies",
                ":currency_id"
              ],
              "variable": [
                {
                  "key": "currency_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update currency",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"symbol\": \"string\",\n  \"decimal_places\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete currency",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/currencies/:currency_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "currencies",
                ":currency_id"
              ],
              "variable": [
                {
                  "key": "currency_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete currency"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get exchange rate",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/exchange-rates/:rate_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "exchange-rates",
                ":rate_id"
              ],
              "variable": [
                {
                  "key": "rate_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get exchange rate"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete exchange rate",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/exchange-rates/:rate_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "exchange-rates",
                ":rate_id"
              ],
              "variable": [
                {
                  "key": "rate_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete exchange rate"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get invoice",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/invoices/:invoice_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "invoices",
                ":invoice_id"
              ],
              "variable": [
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update invoice",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/invoices/:invoice_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "invoices",
                ":invoice_id"
              ],
              "variable": [
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update invoice",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"contact_name\": \"string\",\n  \"date\": \"string\",\n  \"due_date\": \"string\",\n  \"notes\": \"string\",\n  \"lines\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete invoice",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/invoices/:invoice_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "invoices",
                ":invoice_id"
              ],
              "variable": [
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get journal entry",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/journal-entries/:entry_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "journal-entries",
                ":entry_id"
              ],
              "variable": [
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get journal entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update journal entry",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/journal-entries/:entry_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "journal-entries",
                ":entry_id"
              ],
              "variable": [
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update journal entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"date\": \"string\",\n  \"description\": \"string\",\n  \"reference\": \"string\",\n  \"lines\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete journal entry",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/journal-entries/:entry_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "journal-entries",
                ":entry_id"
              ],
              "variable": [
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete journal entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get period",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/periods/:period_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "periods",
                ":period_id"
              ],
              "variable": [
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update period",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/periods/:period_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "periods",
                ":period_id"
              ],
              "variable": [
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update period",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"start_date\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete period",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/periods/:period_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "periods",
                ":period_id"
              ],
              "variable": [
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get recurring entry",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/recurring/:recurring_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "recurring",
                ":recurring_id"
              ],
              "variable": [
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get recurring entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update recurring entry",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/recurring/:recurring_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "recurring",
                ":recurring_id"
              ],
              "variable": [
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update recurring entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"template\": {},\n  \"frequency\": \"string\",\n  \"next_run\": \"string\",\n  \"end_date\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete recurring entry",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/recurring/:recurring_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "recurring",
                ":recurring_id"
              ],
              "variable": [
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete recurring entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tax code",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/tax-codes/:tax_code_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "tax-codes",
                ":tax_code_id"
              ],
              "variable": [
                {
                  "key": "tax_code_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get tax code"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update tax code",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/tax-codes/:tax_code_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "tax-codes",
                ":tax_code_id"
              ],
              "variable": [
                {
                  "key": "tax_code_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update tax code",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"string\",\n  \"rate\": 0,\n  \"type\": \"string\",\n  \"category\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete tax code",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/tax-codes/:tax_code_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "tax-codes",
                ":tax_code_id"
              ],
              "variable": [
                {
                  "key": "tax_code_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete tax code"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Execute recurring entry now",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/recurring/:recurring_id/execute",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "recurring",
                ":recurring_id",
                "execute"
              ],
              "variable": [
                {
                  "key": "recurring_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Execute recurring entry now"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "General ledger report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/general-ledger",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "general-ledger"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "account_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "General ledger report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get bank transaction",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-transactions/:transaction_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-transactions",
                ":transaction_id"
              ],
              "variable": [
                {
                  "key": "transaction_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get bank transaction"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get payment",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/payments/:payment_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "payments",
                ":payment_id"
              ],
              "variable": [
                {
                  "key": "payment_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get payment"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Import bank transactions",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts/:bank_account_id/import",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts",
                ":bank_account_id",
                "import"
              ],
              "variable": [
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Import bank transactions",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transactions\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List bank transactions",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts/:bank_account_id/transactions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts",
                ":bank_account_id",
                "transactions"
              ],
              "variable": [
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List bank transactions"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Match bank transaction",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-transactions/:transaction_id/match",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-transactions",
                ":transaction_id",
                "match"
              ],
              "variable": [
                {
                  "key": "transaction_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Match bank transaction",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"entry_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Post journal entry",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/journal-entries/:entry_id/post",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "journal-entries",
                ":entry_id",
                "post"
              ],
              "variable": [
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Post journal entry"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Profit and loss report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/profit-and-loss",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "profit-and-loss"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Profit and loss report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reconcile bank account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/bank-accounts/:bank_account_id/reconcile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "bank-accounts",
                ":bank_account_id",
                "reconcile"
              ],
              "variable": [
                {
                  "key": "bank_account_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reconcile bank account",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transaction_ids\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reopen period",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/periods/:period_id/reopen",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "periods",
                ":period_id",
                "reopen"
              ],
              "variable": [
                {
                  "key": "period_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reopen period"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reverse journal entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/accounting/journal-entries/:entry_id/reverse",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "journal-entries",
                ":entry_id",
                "reverse"
              ],
              "variable": [
                {
                  "key": "entry_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reverse journal entry",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"date\": \"string\",\n  \"description\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Tax report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/tax",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "tax"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Tax report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Trial balance report",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/reports/trial-balance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "reports",
                "trial-balance"
              ],
              "query": [
                {
                  "key": "as_of",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "period_id",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Trial balance report"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Void invoice",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/invoices/:invoice_id/void",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "invoices",
                ":invoice_id",
                "void"
              ],
              "variable": [
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Void invoice"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Void payment",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/accounting/payments/:payment_id/void",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "accounting",
                "payments",
                ":payment_id",
                "void"
              ],
              "variable": [
                {
                  "key": "payment_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{api_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Void payment"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Backups",
      "description": "Platform backup creation, restoration, and management.",
      "item": [
        {
          "name": "List backups",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/backups",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "backups"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List backups"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Create backup",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/backups",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "backups"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Create backup",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"shard_id\": \"string\",\n  \"type\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get backup",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/backups/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "backups",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get backup"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete backup",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/backups/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "backups",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete backup"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get backup status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/backups/:id/status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "backups",
                ":id",
                "status"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get backup status"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Restore backup",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/backups/:id/restore",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "backups",
                ":id",
                "restore"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Restore backup"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Support",
      "description": "Support ticket management for platform operators.",
      "item": [
        {
          "name": "Get support ticket",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/support-tickets/:ticket_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "support-tickets",
                ":ticket_id"
              ],
              "variable": [
                {
                  "key": "ticket_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get support ticket"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update support ticket",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/support-tickets/:ticket_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "support-tickets",
                ":ticket_id"
              ],
              "variable": [
                {
                  "key": "ticket_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update support ticket",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"string\",\n  \"priority\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List support tickets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/admin/support-tickets",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "support-tickets"
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List support tickets"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Reply to support ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/support-tickets/:ticket_id/messages",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "support-tickets",
                ":ticket_id",
                "messages"
              ],
              "variable": [
                {
                  "key": "ticket_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Reply to support ticket",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"body\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin: Files",
      "description": "Admin file management — upload, search, metadata, variants, and signed URLs for tenant files.",
      "item": [
        {
          "name": "Generate signed URL (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/:file_id/signed-url",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                ":file_id",
                "signed-url"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Generate signed URL (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"expires_in\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get file metadata (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/:file_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                ":file_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get file metadata (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Update file metadata (admin)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/:file_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                ":file_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Update file metadata (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"filename\": \"string\",\n  \"access\": {},\n  \"folder\": \"string\",\n  \"meta\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete file (admin)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/:file_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                ":file_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Delete file (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Download file content (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/:file_id/content",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                ":file_id",
                "content"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Download file content (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get image variant (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/:file_id/variants/:variant",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                ":file_id",
                "variants",
                ":variant"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                },
                {
                  "key": "file_id",
                  "value": "",
                  "description": ""
                },
                {
                  "key": "variant",
                  "value": "",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get image variant (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Get tenant file stats (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/stats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                "stats"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Get tenant file stats (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "List folders (admin)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/folders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                "folders"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "List folders (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Search files (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                "search"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Search files (admin)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mime_type\": \"string\",\n  \"access\": {},\n  \"folder\": \"string\",\n  \"filename\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Upload file (admin)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Tenant-ID",
                "value": "{{tenant_id}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/admin/tenants/:tenant_id/files/upload",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "admin",
                "tenants",
                ":tenant_id",
                "files",
                "upload"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "{{tenant_id}}",
                  "description": ""
                }
              ]
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{admin_key}}",
                  "type": "string"
                }
              ]
            },
            "description": "Upload file (admin)"
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Portal Auth",
      "description": "Public portal authentication endpoints — login, signup, password reset, magic links, OTP, and email verification. No Bearer token required.",
      "item": [
        {
          "name": "Portal password reset request",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-forgot-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-forgot-password"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Request a password reset email via the public portal.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Identify tenant by email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-identify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-identify"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Look up which tenant(s) an email belongs to for portal login.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal login",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-login",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-login"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Authenticate via the public portal with email, password, and tenant ID.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"string\",\n  \"tenant_id\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal send magic link",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-magic-link",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-magic-link"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Send a passwordless magic-link email via the portal.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal verify magic link",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-magic-link-verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-magic-link-verify"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Exchange a portal magic-link token for an auth session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal send OTP",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-otp-send",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-otp-send"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Send a one-time password via SMS for portal authentication.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal verify OTP",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-otp-verify",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-otp-verify"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Verify portal OTP and create a session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"string\",\n  \"code\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal password reset",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-reset-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-reset-password"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Reset password using a token received via email.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\",\n  \"password\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal signup",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-signup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-signup"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Create a new account via the public portal.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 201\", function () {",
                  "    pm.response.to.have.status(201);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        },
        {
          "name": "Portal verify email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v1/auth/portal-verify-email",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "auth",
                "portal-verify-email"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "Verify email address via portal authentication flow.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [],
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status code is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Success response\", function () {",
                  "    const json = pm.response.json();",
                  "    pm.expect(json.success).to.eql(true);",
                  "});"
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}