{
  "info": {
    "name": "Anvil API",
    "_postman_id": "anvil-api-v1",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Anvil API collection. Set {{baseUrl}} and {{bearerToken}} or {{apiKey}} in environment. Bearer auth is inherited at the collection level; public endpoints (login, register, oauth, /unsubscribe, /branding/css, /branding/manifest, /affiliate/track) override to noauth."
  },
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{bearerToken}}", "type": "string" }]
  },
  "variable": [
    { "key": "baseUrl", "value": "https://api.anvilhk.com" },
    { "key": "bearerToken", "value": "" },
    { "key": "apiKey", "value": "" }
  ],
  "item": [
    {
      "name": "Auth",
      "item": [
        {
          "name": "Register",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/register",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "register"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"founder@acme.com\",\n  \"password\": \"S3cure!Pass\",\n  \"name\": \"Jane Founder\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Register a new account. Returns access token + user + tenant."
          },
          "response": []
        },
        {
          "name": "Login",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/login",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "login"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"identifier\": \"founder@acme.com\",\n  \"password\": \"S3cure!Pass\",\n  \"rememberMe\": true\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Email/password login. May return AuthTokens or { requires2fa, mfaToken } if TOTP enrolled."
          },
          "response": []
        },
        {
          "name": "OAuth — Google",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/oauth/google",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "oauth", "google"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"idToken\": \"<google-id-token>\",\n  \"rememberMe\": true,\n  \"nonce\": \"optional-client-nonce\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "OAuth — Apple",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/oauth/apple",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "oauth", "apple"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"idToken\": \"<apple-id-token>\",\n  \"code\": \"<apple-auth-code>\",\n  \"user\": { \"name\": { \"firstName\": \"Jane\", \"lastName\": \"Founder\" } },\n  \"nonce\": \"<sha256-hex-of-raw-nonce>\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Refresh token",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/refresh",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "refresh"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "description": "Reads HttpOnly refresh cookie. No body required."
          },
          "response": []
        },
        {
          "name": "Verify email",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/verify-email",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "verify-email"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"<verify-token-from-email>\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Forgot password",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/forgot-password",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "forgot-password"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"founder@acme.com\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Reset password",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/reset-password",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "reset-password"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"<reset-token>\",\n  \"password\": \"NewS3cure!Pass\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Logout",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/logout",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "logout"]
            },
            "header": [{ "key": "Accept", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "Logout all sessions",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/logout/all",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "logout", "all"]
            },
            "header": [{ "key": "Accept", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "List sessions",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/sessions",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "sessions"]
            },
            "header": [{ "key": "Accept", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "Revoke session",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/sessions/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "sessions", ":id"],
              "variable": [{ "key": "id", "value": "session-id" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Me",
      "item": [
        {
          "name": "Get me",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/me",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "me"]
            },
            "header": [{ "key": "Accept", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "Update profile",
          "request": {
            "method": "PUT",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/me",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "me"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Jane Founder\",\n  \"avatar\": \"https://cdn.anvilhk.com/avatars/jane.png\",\n  \"locale\": \"en-US\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Change password",
          "request": {
            "method": "PUT",
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/me/password",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "auth", "me", "password"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currentPassword\": \"S3cure!Pass\",\n  \"newPassword\": \"EvenM0re!Secure\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Setup 2FA",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/me/2fa/setup",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "me", "2fa", "setup"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "Verify 2FA",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/me/2fa/verify",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "me", "2fa", "verify"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"123456\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Disable 2FA",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/me/2fa/disable",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "me", "2fa", "disable"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"password\": \"S3cure!Pass\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Get notification preferences",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/me/notification-preferences",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "me", "notification-preferences"]
            },
            "header": [{ "key": "Accept", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "Get current usage",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/me/usage",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "me", "usage"]
            },
            "header": [{ "key": "Accept", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "Get usage history",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/me/usage/history?metric=ai_tokens&months=6",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "me", "usage", "history"],
              "query": [
                { "key": "metric", "value": "ai_tokens" },
                { "key": "months", "value": "6" }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Export GDPR data",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/me/export",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "me", "export"]
            }
          },
          "response": []
        },
        {
          "name": "Unsubscribe (public)",
          "request": {
            "auth": { "type": "noauth" },
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/unsubscribe?token=<signed-jwt>",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "unsubscribe"],
              "query": [{ "key": "token", "value": "<signed-jwt>" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Team",
      "item": [
        {
          "name": "List members",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/members",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "members"]
            }
          },
          "response": []
        },
        {
          "name": "Invite member",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/invite",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "invite"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"colleague@acme.com\",\n  \"role\": \"MEMBER\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "List pending invites",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/invites",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "invites"]
            }
          },
          "response": []
        },
        {
          "name": "Resend invite",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/invites/:id/resend",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "invites", ":id", "resend"],
              "variable": [{ "key": "id", "value": "invite-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Revoke invite",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/invites/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "invites", ":id"],
              "variable": [{ "key": "id", "value": "invite-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Update member role",
          "request": {
            "method": "PUT",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/members/:id/role",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "members", ":id", "role"],
              "variable": [{ "key": "id", "value": "member-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"role\": \"ADMIN\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Remove member",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/members/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "members", ":id"],
              "variable": [{ "key": "id", "value": "member-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Accept invite (public)",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/team/invite/accept",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "team", "invite", "accept"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"<invite-jwt>\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Contacts",
      "item": [
        {
          "name": "List contacts",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "cursor", "value": "", "disabled": true },
                { "key": "search", "value": "", "disabled": true },
                { "key": "platform", "value": "XIAOHONGSHU", "disabled": true },
                { "key": "country", "value": "CN", "disabled": true },
                { "key": "minScore", "value": "0", "disabled": true }
              ]
            },
            "description": "List tenant contacts with cursor pagination."
          },
          "response": []
        },
        {
          "name": "Get contact",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", ":id"],
              "variable": [{ "key": "id", "value": "contact-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Create contact",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Acme Corp\",\n  \"email\": \"hello@acme.com\",\n  \"phone\": \"+85247481911\",\n  \"company\": \"Acme Corp\",\n  \"title\": \"CEO\",\n  \"source\": \"MANUAL\",\n  \"primaryPlatform\": \"LINKEDIN\",\n  \"country\": \"HK\",\n  \"city\": \"Hong Kong\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Update contact",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", ":id"],
              "variable": [{ "key": "id", "value": "contact-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"VP Sales\",\n  \"city\": \"Singapore\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Delete contact",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", ":id"],
              "variable": [{ "key": "id", "value": "contact-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Import contacts (CSV)",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/import",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", "import"]
            },
            "body": {
              "mode": "formdata",
              "formdata": [{ "key": "file", "type": "file", "src": [] }]
            },
            "description": "Multipart upload of a CSV file. Returns { imported, failed }."
          },
          "response": []
        },
        {
          "name": "Export contacts",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/export",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", "export"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"platform\": \"LINKEDIN\",\n  \"hasEmail\": true\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Returns CSV blob of filtered contacts."
          },
          "response": []
        },
        {
          "name": "Merge contacts",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/merge",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", "merge"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"primaryId\": \"contact-keep-id\",\n  \"duplicateIds\": [\"contact-dup-1\", \"contact-dup-2\"]\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Get AI memory notes",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/:id/memory",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", ":id", "memory"],
              "variable": [{ "key": "id", "value": "contact-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Add AI memory note",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/:id/memory",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", ":id", "memory"],
              "variable": [{ "key": "id", "value": "contact-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"Prefers WhatsApp over email; mentioned Q3 budget cycle.\",\n  \"source\": \"manual\",\n  \"language\": \"en\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Get AI profile",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/:id/profile",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", ":id", "profile"],
              "variable": [{ "key": "id", "value": "contact-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Refresh AI profile",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/contacts/:id/profile/refresh",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "contacts", ":id", "profile", "refresh"],
              "variable": [{ "key": "id", "value": "contact-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Leads",
      "item": [
        {
          "name": "List leads",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "status", "value": "OPEN", "disabled": true },
                { "key": "pipelineId", "value": "", "disabled": true },
                { "key": "assignedToId", "value": "", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get lead",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads", ":id"],
              "variable": [{ "key": "id", "value": "lead-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Create lead",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"contactId\": \"contact-id\",\n  \"pipelineId\": \"pipeline-id\",\n  \"stageId\": \"stage-id\",\n  \"status\": \"OPEN\",\n  \"source\": \"CRAWLER\",\n  \"score\": 72,\n  \"value\": 5000,\n  \"currency\": \"USD\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Update lead",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads", ":id"],
              "variable": [{ "key": "id", "value": "lead-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"value\": 7500,\n  \"score\": 88\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Move lead to stage",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads/:id/stage",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads", ":id", "stage"],
              "variable": [{ "key": "id", "value": "lead-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"stageId\": \"stage-id\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Assign lead",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads/:id/assign",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads", ":id", "assign"],
              "variable": [{ "key": "id", "value": "lead-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"userId\": \"user-id\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Auto-assign leads",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads/auto-assign",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads", "auto-assign"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }]
          },
          "response": []
        },
        {
          "name": "Delete lead",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/leads/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "leads", ":id"],
              "variable": [{ "key": "id", "value": "lead-id" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Pipelines",
      "item": [
        {
          "name": "List pipelines",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines"]
            }
          },
          "response": []
        },
        {
          "name": "Get pipeline",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines", ":id"],
              "variable": [{ "key": "id", "value": "pipeline-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Create pipeline",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Outbound Sales\",\n  \"isDefault\": false\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Update pipeline",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines", ":id"],
              "variable": [{ "key": "id", "value": "pipeline-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Inbound Sales\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Pipeline stats",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines/:id/stats",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines", ":id", "stats"],
              "variable": [{ "key": "id", "value": "pipeline-id" }]
            }
          },
          "response": []
        },
        {
          "name": "List stages",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines/:id/stages",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines", ":id", "stages"],
              "variable": [{ "key": "id", "value": "pipeline-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Add stage",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines/:id/stages",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines", ":id", "stages"],
              "variable": [{ "key": "id", "value": "pipeline-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Negotiation\",\n  \"order\": 4,\n  \"probability\": 60,\n  \"color\": \"#06B6D4\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Update stage",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines/:id/stages/:stageId",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines", ":id", "stages", ":stageId"],
              "variable": [
                { "key": "id", "value": "pipeline-id" },
                { "key": "stageId", "value": "stage-id" }
              ]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"probability\": 70\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Delete stage",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/pipelines/:id/stages/:stageId",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "pipelines", ":id", "stages", ":stageId"],
              "variable": [
                { "key": "id", "value": "pipeline-id" },
                { "key": "stageId", "value": "stage-id" }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Activities",
      "item": [
        {
          "name": "List activities",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/activities?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "activities"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "contactId", "value": "", "disabled": true },
                { "key": "leadId", "value": "", "disabled": true },
                { "key": "type", "value": "", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Create activity",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/activities",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "activities"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"NOTE\",\n  \"title\": \"Discovery call\",\n  \"content\": \"Confirmed budget for Q4. Decision-maker is COO.\",\n  \"contactId\": \"contact-id\",\n  \"leadId\": \"lead-id\",\n  \"metadata\": {\n    \"durationMinutes\": 30\n  }\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Tags",
      "item": [
        {
          "name": "List tags",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/tags",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "tags"]
            }
          },
          "response": []
        },
        {
          "name": "Create tag",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/tags",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "tags"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"VIP\",\n  \"color\": \"#6366F1\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Update tag",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/tags/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "tags", ":id"],
              "variable": [{ "key": "id", "value": "tag-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Hot Lead\",\n  \"color\": \"#EF4444\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Delete tag",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/tags/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "tags", ":id"],
              "variable": [{ "key": "id", "value": "tag-id" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Chatbots",
      "item": [
        {
          "name": "List chatbots",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chatbots?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chatbots"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "enabled", "value": "true", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get chatbot",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chatbots/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chatbots", ":id"],
              "variable": [{ "key": "id", "value": "bot-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Create chatbot",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chatbots",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chatbots"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Sales Assistant\",\n  \"description\": \"Pre-qualifies leads on the website\",\n  \"platforms\": [\"WEBSITE\", \"WHATSAPP\"],\n  \"knowledgeBaseIds\": [\"kb-id-1\"],\n  \"persona\": \"Friendly, concise, B2B SaaS tone.\",\n  \"model\": \"deepseek-v4-flash\",\n  \"temperature\": 0.4,\n  \"enabled\": true\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Update chatbot",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chatbots/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chatbots", ":id"],
              "variable": [{ "key": "id", "value": "bot-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"enabled\": false\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Delete chatbot",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chatbots/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chatbots", ":id"],
              "variable": [{ "key": "id", "value": "bot-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Chatbot stats",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chatbots/:id/stats",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chatbots", ":id", "stats"],
              "variable": [{ "key": "id", "value": "bot-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Test chatbot",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chatbots/:id/test",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chatbots", ":id", "test"],
              "variable": [{ "key": "id", "value": "bot-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"What's your pricing for 50 seats on the Pro plan?\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Knowledge Bases",
      "item": [
        {
          "name": "List KBs",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "type", "value": "", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Create KB",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Product FAQ\",\n  \"type\": \"FAQ\",\n  \"description\": \"Customer-facing product Q&A\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Get KB",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases", ":id"],
              "variable": [{ "key": "id", "value": "kb-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Update KB",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases", ":id"],
              "variable": [{ "key": "id", "value": "kb-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"description\": \"Updated description\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Delete KB",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases", ":id"],
              "variable": [{ "key": "id", "value": "kb-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Upload document",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases/:id/upload",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases", ":id", "upload"],
              "variable": [{ "key": "id", "value": "kb-id" }]
            },
            "body": {
              "mode": "formdata",
              "formdata": [{ "key": "file", "type": "file", "src": [] }]
            }
          },
          "response": []
        },
        {
          "name": "Test query (RAG)",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases/:id/test",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases", ":id", "test"],
              "variable": [{ "key": "id", "value": "kb-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"question\": \"How do I export my contacts?\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "KB stats",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/knowledge-bases/:id/stats",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "knowledge-bases", ":id", "stats"],
              "variable": [{ "key": "id", "value": "kb-id" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Chat Sessions",
      "item": [
        {
          "name": "List sessions",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chat-sessions?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chat-sessions"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "botId", "value": "", "disabled": true },
                { "key": "status", "value": "ACTIVE", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get session",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chat-sessions/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chat-sessions", ":id"],
              "variable": [{ "key": "id", "value": "session-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Human takeover",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chat-sessions/:id/takeover",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chat-sessions", ":id", "takeover"],
              "variable": [{ "key": "id", "value": "session-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Send message (human agent)",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chat-sessions/:id/messages",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chat-sessions", ":id", "messages"],
              "variable": [{ "key": "id", "value": "session-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"Hi! Happy to help with that — can you share your team size?\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Close session",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/chat-sessions/:id/close",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "chat-sessions", ":id", "close"],
              "variable": [{ "key": "id", "value": "session-id" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Voice",
      "item": [
        {
          "name": "List voices",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/voices",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "voices"]
            }
          },
          "response": []
        },
        {
          "name": "Clone voice",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/voices/clone",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "voices", "clone"]
            },
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "name", "value": "Sarah Cantonese", "type": "text" },
                { "key": "language", "value": "zh", "type": "text" },
                { "key": "files", "type": "file", "src": [] }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Preview voice",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/voices/:id/preview",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "voices", ":id", "preview"],
              "variable": [{ "key": "id", "value": "voice-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"text\": \"Hello, this is a preview of your cloned voice.\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "List scripts",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/scripts",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "scripts"]
            }
          },
          "response": []
        },
        {
          "name": "Create script",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/scripts",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "scripts"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Q4 outbound — SMB\",\n  \"language\": \"en\",\n  \"objective\": \"Book a 15-min discovery\",\n  \"openingLine\": \"Hi, this is Anvil — can I steal 30 seconds?\",\n  \"closingLine\": \"Thanks, I'll send a calendar link.\",\n  \"systemPrompt\": \"Friendly, concise, B2B tone.\",\n  \"objectionResponses\": [\n    { \"trigger\": \"too expensive\", \"response\": \"Our SMB plan starts at $99/mo.\" }\n  ],\n  \"maxTurns\": 12,\n  \"maxDurationSeconds\": 300\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "List campaigns",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/campaigns",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "campaigns"]
            }
          },
          "response": []
        },
        {
          "name": "Create campaign",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/campaigns",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "campaigns"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Q4 outbound\",\n  \"scriptId\": \"script-id\",\n  \"voiceId\": \"voice-id\",\n  \"fromNumber\": \"+85230006666\",\n  \"contactIds\": [\"contact-1\", \"contact-2\"],\n  \"callWindow\": { \"start\": \"09:00\", \"end\": \"18:00\" },\n  \"timezone\": \"Asia/Hong_Kong\",\n  \"maxConcurrent\": 5,\n  \"maxRetries\": 2\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Start campaign",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/campaigns/:id/start",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "campaigns", ":id", "start"],
              "variable": [{ "key": "id", "value": "campaign-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Pause campaign",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/campaigns/:id/pause",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "campaigns", ":id", "pause"],
              "variable": [{ "key": "id", "value": "campaign-id" }]
            }
          },
          "response": []
        },
        {
          "name": "List call sessions",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/sessions?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "sessions"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "status", "value": "COMPLETED", "disabled": true },
                { "key": "outcome", "value": "CONVERTED", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get transcript",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/sessions/:id/transcript",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "sessions", ":id", "transcript"],
              "variable": [{ "key": "id", "value": "session-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Test call",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/voice/calls/test",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "voice", "calls", "test"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"scriptId\": \"script-id\",\n  \"voiceId\": \"voice-id\",\n  \"phoneNumber\": \"+85247481911\",\n  \"fromNumber\": \"+85230006666\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Agents",
      "item": [
        {
          "name": "List agents",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents"]
            }
          },
          "response": []
        },
        {
          "name": "Get agent",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents", ":id"],
              "variable": [{ "key": "id", "value": "agent-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Create agent",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Find 100 SMB e-comm leads\",\n  \"goal\": \"Identify and qualify 100 Shopify-store owners in HK/SG with >$10k MRR.\",\n  \"platforms\": [\"LINKEDIN\", \"SHOPIFY\"],\n  \"budgetCredits\": 5000,\n  \"deadline\": \"2026-06-01T00:00:00Z\",\n  \"autoApprove\": false\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Start agent",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents/:id/start",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents", ":id", "start"],
              "variable": [{ "key": "id", "value": "agent-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Pause agent",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents/:id/pause",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents", ":id", "pause"],
              "variable": [{ "key": "id", "value": "agent-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Stop agent",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents/:id/stop",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents", ":id", "stop"],
              "variable": [{ "key": "id", "value": "agent-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Get logs",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents/:id/log?limit=50",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents", ":id", "log"],
              "query": [{ "key": "limit", "value": "50" }],
              "variable": [{ "key": "id", "value": "agent-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Approve action",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents/:id/approvals/:approvalId/approve",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents", ":id", "approvals", ":approvalId", "approve"],
              "variable": [
                { "key": "id", "value": "agent-id" },
                { "key": "approvalId", "value": "approval-id" }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List templates",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/agents/templates",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "agents", "templates"]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "NLQ",
      "item": [
        {
          "name": "Ask question",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/nlq/query",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "nlq", "query"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"question\": \"How many leads converted last week?\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Suggestions",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/nlq/suggestions",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "nlq", "suggestions"]
            }
          },
          "response": []
        },
        {
          "name": "History",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/nlq/history?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "nlq", "history"],
              "query": [{ "key": "limit", "value": "20" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Research",
      "item": [
        {
          "name": "Discover keywords",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/keywords",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "keywords"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"seed\": \"smart led light\",\n  \"platforms\": [\"AMAZON\", \"SHOPIFY\"],\n  \"lang\": \"en\",\n  \"limit\": 25\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Suggest keywords",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/keywords/suggest",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "keywords", "suggest"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"category\": \"home audio\",\n  \"count\": 10\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Trending keywords",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/keywords/trending",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "keywords", "trending"]
            }
          },
          "response": []
        },
        {
          "name": "BSR analysis",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/bsr",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "bsr"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"category\": \"Bluetooth Headphones\",\n  \"platform\": \"AMAZON\",\n  \"limit\": 50\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Blue ocean opportunities",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/blueocean",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "blueocean"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"niche\": \"pet electronics\",\n  \"min_demand\": 60,\n  \"max_competition\": 50,\n  \"min_margin\": 40,\n  \"min_trend\": 70\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Reverse competitor",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/competitor-reverse",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "competitor-reverse"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://exampleshop.myshopify.com\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Score niche",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/niche-score",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "niche-score"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"niche\": \"sustainable home goods\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "List reports",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/research/reports",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "research", "reports"]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Influencers",
      "item": [
        {
          "name": "Search influencers",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencers?platform=INSTAGRAM&minFollowers=10000",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencers"],
              "query": [
                { "key": "platform", "value": "INSTAGRAM" },
                { "key": "minFollowers", "value": "10000" },
                { "key": "category", "value": "fashion", "disabled": true },
                { "key": "hasEmail", "value": "true", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get influencer",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencers/:kolId",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencers", ":kolId"],
              "variable": [{ "key": "kolId", "value": "kol-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Discover (AI)",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencers/discover",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencers", "discover"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"niche\": \"clean beauty\",\n  \"product_description\": \"Vegan skincare line for sensitive skin\",\n  \"budget\": 20000,\n  \"target_platforms\": [\"INSTAGRAM\", \"TIKTOK\"],\n  \"limit\": 25\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Analyze KOL",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencers/analyze",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencers", "analyze"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://www.instagram.com/some_handle/\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Estimate price",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencers/estimate-price",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencers", "estimate-price"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"followers\": 250000,\n  \"engagement_rate\": 0.045,\n  \"platform\": \"INSTAGRAM\",\n  \"categories\": [\"beauty\", \"lifestyle\"]\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Send outreach",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencers/:kolId/outreach",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencers", ":kolId", "outreach"],
              "variable": [{ "key": "kolId", "value": "kol-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"channel\": \"email\",\n  \"subject\": \"Collab idea — Anvil x your audience\",\n  \"message\": \"Hi! Loved your recent skincare review. We'd like to discuss a paid collab.\",\n  \"campaign_id\": \"campaign-id\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "List campaigns",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencer-campaigns",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencer-campaigns"]
            }
          },
          "response": []
        },
        {
          "name": "Create campaign",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencer-campaigns",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencer-campaigns"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Summer launch\",\n  \"description\": \"Q3 KOL push for new SKU\",\n  \"start_date\": \"2026-06-01\",\n  \"end_date\": \"2026-08-31\",\n  \"budget\": 50000\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Add KOLs to campaign",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencer-campaigns/:id/add-kols",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencer-campaigns", ":id", "add-kols"],
              "variable": [{ "key": "id", "value": "campaign-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"kol_ids\": [\"kol-1\", \"kol-2\"]\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Campaign analytics",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/influencer-campaigns/:id/analytics",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "influencer-campaigns", ":id", "analytics"],
              "variable": [{ "key": "id", "value": "campaign-id" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Crawl",
      "item": [
        {
          "name": "List crawl tasks",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-tasks?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-tasks"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "status", "value": "RUNNING", "disabled": true },
                { "key": "platform", "value": "XIAOHONGSHU", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Create crawl task",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-tasks",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-tasks"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"XHS — sustainable skincare\",\n  \"platform\": \"XIAOHONGSHU\",\n  \"keywords\": [\"vegan skincare\", \"sensitive skin\"],\n  \"config\": {\n    \"maxPosts\": 500,\n    \"minLikes\": 100\n  },\n  \"schedule\": null\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Get crawl task",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-tasks/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-tasks", ":id"],
              "variable": [{ "key": "id", "value": "task-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Update crawl task",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-tasks/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-tasks", ":id"],
              "variable": [{ "key": "id", "value": "task-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"XHS — sustainable skincare (v2)\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Start task",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-tasks/:id/start",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-tasks", ":id", "start"],
              "variable": [{ "key": "id", "value": "task-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Pause task",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-tasks/:id/pause",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-tasks", ":id", "pause"],
              "variable": [{ "key": "id", "value": "task-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Stop task",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-tasks/:id/stop",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-tasks", ":id", "stop"],
              "variable": [{ "key": "id", "value": "task-id" }]
            }
          },
          "response": []
        },
        {
          "name": "List crawl results",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-results?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-results"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "taskId", "value": "", "disabled": true },
                { "key": "minScore", "value": "60", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Convert results to leads",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/crawl-results/to-leads",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "crawl-results", "to-leads"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"resultIds\": [\"result-1\", \"result-2\"]\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "List platforms",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/platforms",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "platforms"]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Affiliate",
      "item": [
        {
          "name": "Apply",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/apply",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "apply"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"payoutEmail\": \"affiliate@example.com\",\n  \"websiteUrl\": \"https://my-blog.com\",\n  \"promotionChannels\": [\"blog\", \"youtube\"],\n  \"description\": \"Run a B2B SaaS review blog with 50k MAU.\",\n  \"estimatedMau\": 50000\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Get my affiliate",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/me",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "me"]
            }
          },
          "response": []
        },
        {
          "name": "Stats",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/stats?period=30",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "stats"],
              "query": [{ "key": "period", "value": "30" }]
            }
          },
          "response": []
        },
        {
          "name": "List referrals",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/referrals?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "referrals"],
              "query": [{ "key": "limit", "value": "20" }]
            }
          },
          "response": []
        },
        {
          "name": "List commissions",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/commissions?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "commissions"],
              "query": [{ "key": "limit", "value": "20" }]
            }
          },
          "response": []
        },
        {
          "name": "Request payout",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/payout-request",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "payout-request"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 500,\n  \"method\": \"crypto\",\n  \"details\": {\n    \"chain\": \"USDT-TRC20\",\n    \"address\": \"T...\"\n  }\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "List payouts",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/payouts",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "payouts"]
            }
          },
          "response": []
        },
        {
          "name": "Track click (public)",
          "request": {
            "auth": { "type": "noauth" },
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/affiliate/track",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "affiliate", "track"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"AFF-XYZ\",\n  \"referrer\": \"https://my-blog.com/anvil-review\",\n  \"landing\": \"https://anvilhk.com/?ref=AFF-XYZ\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Trade Documents",
      "item": [
        {
          "name": "List trade documents",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/trade-documents?limit=20",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "trade-documents"],
              "query": [
                { "key": "limit", "value": "20" },
                { "key": "type", "value": "QUOTE", "disabled": true }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Create trade document",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/trade-documents",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "trade-documents"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"QUOTE\",\n  \"contactId\": \"contact-id\",\n  \"currency\": \"USD\",\n  \"incoterm\": \"FOB\",\n  \"paymentTerms\": \"T/T 30% deposit, 70% before shipment\",\n  \"validityDays\": 30,\n  \"lines\": [\n    { \"sku\": \"LED-A19-9W\", \"name\": \"9W A19 LED bulb\", \"qty\": 5000, \"unit\": \"pcs\", \"unitPrice\": 0.85, \"hsCode\": \"8539.50\" }\n  ]\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Get trade document",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/trade-documents/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "trade-documents", ":id"],
              "variable": [{ "key": "id", "value": "doc-id" }]
            }
          },
          "response": []
        },
        {
          "name": "AI draft quote",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/trade-documents/ai-draft-quote",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "trade-documents", "ai-draft-quote"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"products\": [\n    { \"sku\": \"LED-A19-9W\", \"name\": \"9W A19 LED bulb\", \"unitPrice\": 0.85, \"qty\": 5000, \"currency\": \"USD\" }\n  ],\n  \"buyerHistory\": {\n    \"lastQuoteAt\": \"2026-01-15\",\n    \"preferredIncoterm\": \"FOB\",\n    \"preferredPayment\": \"T/T 30/70\"\n  },\n  \"language\": \"en\",\n  \"instructions\": \"Apply 5% volume discount; emphasize lead time.\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Send via e-sign",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/trade-documents/:id/send-esign",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "trade-documents", ":id", "send-esign"],
              "variable": [{ "key": "id", "value": "doc-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"docusign\",\n  \"recipientEmail\": \"buyer@example.com\",\n  \"recipientName\": \"Buyer Name\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Webhooks",
      "item": [
        {
          "name": "List webhooks",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks"]
            }
          },
          "response": []
        },
        {
          "name": "Create webhook",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://example.com/anvil-webhook\",\n  \"events\": [\"lead.created\", \"lead.won\"],\n  \"secret\": \"whsec_random_string\",\n  \"enabled\": true\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Update webhook",
          "request": {
            "method": "PATCH",
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id"],
              "variable": [{ "key": "id", "value": "webhook-id" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"enabled\": false\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Delete webhook",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id"],
              "variable": [{ "key": "id", "value": "webhook-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Test webhook",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/webhooks/:id/test",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "webhooks", ":id", "test"],
              "variable": [{ "key": "id", "value": "webhook-id" }]
            }
          },
          "response": []
        },
        {
          "name": "List API keys",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/api-keys",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "api-keys"]
            },
            "description": "JWT-only. API keys cannot create new API keys."
          },
          "response": []
        },
        {
          "name": "Create API key",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/api-keys",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "api-keys"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Zapier integration\",\n  \"permissions\": [\"contacts:read\", \"leads:write\"],\n  \"expiresIn\": 0\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Rotate API key",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/api-keys/:id/rotate",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "api-keys", ":id", "rotate"],
              "variable": [{ "key": "id", "value": "key-id" }]
            }
          },
          "response": []
        },
        {
          "name": "Revoke API key",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{baseUrl}}/api/v1/api-keys/:id",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "api-keys", ":id"],
              "variable": [{ "key": "id", "value": "key-id" }]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Billing",
      "item": [
        {
          "name": "List plans",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/billing/plans",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "billing", "plans"]
            }
          },
          "response": []
        },
        {
          "name": "Get subscription",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/billing/subscription",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "billing", "subscription"]
            }
          },
          "response": []
        },
        {
          "name": "Checkout",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/billing/checkout",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "billing", "checkout"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"plan\": \"PRO\",\n  \"interval\": \"yearly\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Cancel subscription",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/billing/cancel",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "billing", "cancel"]
            }
          },
          "response": []
        },
        {
          "name": "Get usage",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/billing/usage",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "billing", "usage"]
            }
          },
          "response": []
        },
        {
          "name": "List invoices",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/billing/invoices",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "billing", "invoices"]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Branding",
      "item": [
        {
          "name": "Get profile",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding"]
            }
          },
          "response": []
        },
        {
          "name": "Update profile",
          "request": {
            "method": "PUT",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"brandName\": \"Acme CRM\",\n  \"tagline\": \"Sell smarter\",\n  \"primaryColor\": \"#6366F1\",\n  \"accentColor\": \"#06B6D4\",\n  \"hidePoweredBy\": true,\n  \"socialLinks\": { \"twitter\": \"https://x.com/acme\" }\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Upload asset",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/assets/upload",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "assets", "upload"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"logo_light\",\n  \"fileName\": \"logo.png\",\n  \"mimetype\": \"image/png\",\n  \"data\": \"<base64-encoded-bytes>\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Set custom domain",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/domain",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "domain"]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"domain\": \"crm.acme.com\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Verify domain",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/domain/verify",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "domain", "verify"]
            }
          },
          "response": []
        },
        {
          "name": "Provision SSL",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/domain/ssl/provision",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "domain", "ssl", "provision"]
            }
          },
          "response": []
        },
        {
          "name": "List email templates",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/email-templates",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "email-templates"]
            }
          },
          "response": []
        },
        {
          "name": "Update email template",
          "request": {
            "method": "PUT",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/email-templates/:key",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "email-templates", ":key"],
              "variable": [{ "key": "key", "value": "welcome" }]
            },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"subject\": \"Welcome to {{brandName}}\",\n  \"bodyHtml\": \"<p>Welcome, {{userName}}!</p>\",\n  \"enabled\": true\n}",
              "options": { "raw": { "language": "json" } }
            }
          },
          "response": []
        },
        {
          "name": "Publish branding",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/publish",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "publish"]
            }
          },
          "response": []
        },
        {
          "name": "Branding CSS (public)",
          "request": {
            "auth": { "type": "noauth" },
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/css",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "css"]
            }
          },
          "response": []
        },
        {
          "name": "Branding manifest (public)",
          "request": {
            "auth": { "type": "noauth" },
            "method": "GET",
            "url": {
              "raw": "{{baseUrl}}/api/v1/branding/manifest",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "branding", "manifest"]
            }
          },
          "response": []
        }
      ]
    }
  ]
}
