{
  "info": {
    "name": "GoOmni AI",
    "description": "AI-powered project management, quality assurance, and knowledge platform.\n\n**Base URL:** `https://agent.goomni.ai` &nbsp;|&nbsp; **Auth:** `Authorization: Bearer <jwt>`\n",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_postman_id": "goomni-api-collection"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{auth_token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://agent.goomni.ai"
    },
    {
      "key": "auth_token",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Organizations",
      "item": [
        {
          "name": "List organizations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations"
              ]
            },
            "description": "Returns all organizations the authenticated user belongs to."
          }
        },
        {
          "name": "Create organization",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations"
              ]
            },
            "description": "Create a new organization. This is the first step for any new client integration.\nThe organization is the top-level container for all resources (projects, KBs, team, etc.).\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Acme Corp\",\n  \"slug\": \"acme-corp\",\n  \"tier\": \"\",\n  \"billingEmail\": \"\",\n  \"settings\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List organizations (with active org context)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/list",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                "list"
              ]
            },
            "description": "Returns organizations with the currently active organization marked."
          }
        },
        {
          "name": "Switch active organization",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/switch",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                "switch"
              ]
            },
            "description": "Set the active organization for the current user session.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"organizationId\": \"your-id-here\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get organization details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId"
              ]
            },
            "description": "Returns full organization details including settings and connected services."
          }
        },
        {
          "name": "Update organization",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId"
              ]
            },
            "description": "Update organization name, settings, or billing info.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"billingEmail\": \"\",\n  \"settings\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get token usage summary",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId/token-usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId",
                "token-usage"
              ]
            },
            "description": "Returns token usage summary and optional detailed records for the organization."
          }
        },
        {
          "name": "Get current month token usage",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId/token-usage/current",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId",
                "token-usage",
                "current"
              ]
            },
            "description": "Returns token usage for the current billing period (dashboard widget)."
          }
        },
        {
          "name": "Search organization knowledge base",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId",
                "search"
              ]
            },
            "description": "Search across the organization's company-wide knowledge base."
          }
        }
      ]
    },
    {
      "name": "Organization Team",
      "item": [
        {
          "name": "List team members",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId/team",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId",
                "team"
              ]
            },
            "description": "Returns all members of the organization with their roles."
          }
        },
        {
          "name": "Invite, remove, or update team member",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId/team",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId",
                "team"
              ]
            },
            "description": "Manage team membership. Actions: invite, remove, update_role.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"action\": \"\",\n  \"email\": \"\",\n  \"userId\": \"\",\n  \"role\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Organization Preferences",
      "item": [
        {
          "name": "List custom prompts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId-prefs/custom-prompts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId-prefs",
                "custom-prompts"
              ]
            },
            "description": "List all custom prompts configured for this organization."
          }
        },
        {
          "name": "Create custom prompt",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId-prefs/custom-prompts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId-prefs",
                "custom-prompts"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"content\": \"\",\n  \"category\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get model preferences",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId-prefs/model-preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId-prefs",
                "model-preferences"
              ]
            },
            "description": "Returns the organization's preferred AI models for different tasks."
          }
        },
        {
          "name": "Update model preferences",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/organizations/:organizationId-prefs/model-preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "organizations",
                ":organizationId-prefs",
                "model-preferences"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"chatModel\": \"\",\n  \"agentModel\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Projects",
      "item": [
        {
          "name": "List projects",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects"
              ]
            },
            "description": "Returns all projects for the authenticated user's organization.\nProjects are scoped workspaces that group related work (RFP, QA, migration, etc.).\n"
          }
        },
        {
          "name": "Create project",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects"
              ]
            },
            "description": "Create a new project under an organization. Projects can be created from\ntemplates (RFP, migration, etc.) or as blank workspaces. Link knowledge bases\nto provide context for AI operations.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Q1 2026 Government RFP Response\",\n  \"organizationId\": \"your-id-here\",\n  \"description\": \"\",\n  \"templateId\": \"\",\n  \"templateType\": \"\",\n  \"knowledgeBaseIds\": [],\n  \"agentConfigs\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get project details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId"
              ]
            },
            "description": "Returns full project details including linked KBs, agent configs, and stats."
          }
        },
        {
          "name": "Update project",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId"
              ]
            },
            "description": "Update project name, description, linked knowledge bases, agent configs, etc.\nUse this to link/unlink knowledge bases by updating `knowledgeBaseIds`.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"knowledgeBaseIds\": [],\n  \"agentConfigs\": [],\n  \"status\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete project",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId"
              ]
            }
          }
        },
        {
          "name": "Project chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/chat",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "chat"
              ]
            },
            "description": "Chat with the project's knowledge base using unified search.\nReturns AI-generated answers with source citations from linked KBs.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"query\": \"What are the compliance requirements?\",\n  \"conversationHistory\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get project master context",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/master-context",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "master-context"
              ]
            },
            "description": "Returns the AI-generated master context for the project."
          }
        },
        {
          "name": "Update project master context",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/master-context",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "master-context"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"masterContext\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Generate master context",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/generate-context",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "generate-context"
              ]
            },
            "description": "AI-generate a master context from the project's linked knowledge bases."
          }
        },
        {
          "name": "Duplicate project",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/duplicate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "duplicate"
              ]
            },
            "description": "Create a copy of the project with all its configuration."
          }
        },
        {
          "name": "Get latest execution",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/executions/latest",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "executions",
                "latest"
              ]
            },
            "description": "Returns the most recent RFP execution and all agent outputs for this project."
          }
        }
      ]
    },
    {
      "name": "Project Files",
      "item": [
        {
          "name": "List project files",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/files",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "files"
              ]
            },
            "description": "Returns all files uploaded to this project with their processing status."
          }
        },
        {
          "name": "Reindex project files",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/files/reindex",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "files",
                "reindex"
              ]
            },
            "description": "Trigger reindexing of all or specific files in the project.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"all\": false,\n  \"fileIds\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get indexing status",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/indexing-status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "indexing-status"
              ]
            },
            "description": "Returns the indexing status for all files in the project."
          }
        }
      ]
    },
    {
      "name": "Agent Runs",
      "item": [
        {
          "name": "List project agent runs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:projectId/agent-runs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":projectId",
                "agent-runs"
              ]
            },
            "description": "Returns all agent execution runs for this project."
          }
        },
        {
          "name": "List agent runs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/agent-runs",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "agent-runs"
              ]
            }
          }
        },
        {
          "name": "Get agent run details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/agent-runs/:runId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "agent-runs",
                ":runId"
              ]
            },
            "description": "Returns execution details, inputs, outputs, and logs for an agent run."
          }
        }
      ]
    },
    {
      "name": "Content Type Analysis",
      "item": [
        {
          "name": "Start content type analysis",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/analyze-content-types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "analyze-content-types"
              ]
            },
            "description": "Triggers AI analysis of all indexed pages to recommend CMS content types\n(e.g., Drupal content types). Analyzes page structure, elements, and patterns\nto generate field mapping templates.\n\nThis is async - use the jobId to poll for results.\n"
          }
        },
        {
          "name": "Get content type analysis status/results",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/analyze-content-types/:jobId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "analyze-content-types",
                ":jobId"
              ]
            },
            "description": "Polls the async content type analysis job for completion and results."
          }
        },
        {
          "name": "Get approved content type config",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/content-type-config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "content-type-config"
              ]
            }
          }
        },
        {
          "name": "Save content type config",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/content-type-config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "content-type-config"
              ]
            },
            "description": "Save the approved content type configuration for a migration project.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"contentTypes\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get content type analysis results",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/content-type-analysis",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "content-type-analysis"
              ]
            },
            "description": "Returns the AI-generated content type analysis from S3."
          }
        }
      ]
    },
    {
      "name": "Page Transformation",
      "item": [
        {
          "name": "Preview page transformation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/page-transformation-preview",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "page-transformation-preview"
              ]
            },
            "description": "Shows how a page will look after applying content type field mappings.\nMaps existing page elements to CMS fields. No AI calls - uses\npre-computed templates from content type analysis.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"fileId\": \"\",\n  \"contentTypeId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get page migration config",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/page-migration-config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "page-migration-config"
              ]
            }
          }
        },
        {
          "name": "Save page migration config",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/page-migration-config",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "page-migration-config"
              ]
            },
            "description": "Save per-page migration configurations (content type assignment, field overrides)."
          }
        },
        {
          "name": "Get navigation strategy",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/navigation-strategy",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "navigation-strategy"
              ]
            },
            "description": "Returns the AI-generated or manually configured navigation tree for site migration."
          }
        },
        {
          "name": "Save navigation strategy",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/projects/:id/navigation-strategy",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "projects",
                ":id",
                "navigation-strategy"
              ]
            },
            "description": "Save the approved navigation tree structure.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tree\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Knowledge Bases",
      "item": [
        {
          "name": "List knowledge bases",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases"
              ]
            },
            "description": "Returns all knowledge bases for the authenticated user's organization."
          }
        },
        {
          "name": "Create knowledge base",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases"
              ]
            },
            "description": "Creates a new knowledge base. Files can be uploaded after creation.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get knowledge base",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id"
              ]
            }
          }
        },
        {
          "name": "Update knowledge base",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"isPublic\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete knowledge base",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id"
              ]
            }
          }
        },
        {
          "name": "List shares for knowledge base",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/share",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "share"
              ]
            }
          }
        },
        {
          "name": "Share knowledge base with organization",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/share",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "share"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"targetOrgId\": \"\",\n  \"permission\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get public knowledge base",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/kb/:kbId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "kb",
                ":kbId"
              ]
            },
            "description": "Retrieve metadata for a public knowledge base (no auth required).",
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Knowledge Base Files",
      "item": [
        {
          "name": "List files in knowledge base",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/files",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "files"
              ]
            }
          }
        },
        {
          "name": "Upload file to knowledge base",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/files",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "files"
              ]
            },
            "description": "Upload a file to be processed and indexed. Supported formats:\nPDF, DOCX, XLSX, PPTX, HTML, TXT, MD, images (PNG/JPG), and emails.\n\nThe file goes through the processing pipeline:\nExtract → Chunk → Embed → Index\n\nProcessing is asynchronous. Poll the file status or use webhooks.\n"
          }
        },
        {
          "name": "Trigger knowledge base indexing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/index",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "index"
              ]
            },
            "description": "Re-indexes all files in the knowledge base."
          }
        }
      ]
    },
    {
      "name": "Knowledge Base Search",
      "item": [
        {
          "name": "Semantic search in knowledge base",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "search"
              ]
            },
            "description": "Performs semantic (vector) search across all indexed content in the knowledge base.\nUses hybrid search combining dense embeddings with keyword matching.\nResults include relevance scores and source metadata.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Search public knowledge base",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/kb/:kbId/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "kb",
                ":kbId",
                "search"
              ]
            },
            "description": "Search a public knowledge base (no auth, rate-limited by IP).",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Voice Tools",
      "item": [
        {
          "name": "List tools assigned to knowledge base",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/tools",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "tools"
              ]
            }
          }
        },
        {
          "name": "Create and assign tool to knowledge base",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/tools",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "tools"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List all voice tools",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools"
              ]
            }
          }
        },
        {
          "name": "Create voice tool",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List voice tool templates",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools/templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools",
                "templates"
              ]
            },
            "description": "Returns available tool templates (lead collection, FAQ, HubSpot, etc.)"
          }
        },
        {
          "name": "Get voice tool",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools/:toolId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools",
                ":toolId"
              ]
            }
          }
        },
        {
          "name": "Update voice tool",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools/:toolId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools",
                ":toolId"
              ]
            }
          }
        },
        {
          "name": "Delete voice tool",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools/:toolId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools",
                ":toolId"
              ]
            }
          }
        },
        {
          "name": "Assign tool to knowledge base",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools/:toolId/assign",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools",
                ":toolId",
                "assign"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"kbId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Unassign tool from knowledge base",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/tools/:toolId/assign",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "tools",
                ":toolId",
                "assign"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Voice Context",
      "item": [
        {
          "name": "Save outbound call context",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/outbound-context/save",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "outbound-context",
                "save"
              ]
            },
            "description": "Save context/instructions specific to outbound calls for this KB."
          }
        },
        {
          "name": "Regenerate voice context",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/voice-context/regenerate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "voice-context",
                "regenerate"
              ]
            },
            "description": "AI-generates voice agent instructions and FAQs from the knowledge base content.\nThis context is used by the voice agent during phone calls.\n"
          }
        },
        {
          "name": "Save voice context",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/voice-context/save",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "voice-context",
                "save"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"instructions\": \"\",\n  \"faqs\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Files",
      "item": [
        {
          "name": "Get file preview URL",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/files/:fileId/preview",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "files",
                ":fileId",
                "preview"
              ]
            },
            "description": "Returns a signed URL or source URL for previewing a file."
          }
        },
        {
          "name": "Get HTML proxy for page preview",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/files/:fileId/html-proxy",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "files",
                ":fileId",
                "html-proxy"
              ]
            },
            "description": "Proxies an external web page with injected highlight scripts.\nUsed for iframe-based page preview with search result highlighting.\n"
          }
        },
        {
          "name": "Upload file",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/files/upload",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "files",
                "upload"
              ]
            }
          }
        },
        {
          "name": "Download file",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/files/:fileId/download",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "files",
                ":fileId",
                "download"
              ]
            }
          }
        },
        {
          "name": "Reindex file",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/files/:fileId/reindex",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "files",
                ":fileId",
                "reindex"
              ]
            },
            "description": "Re-processes and re-indexes a file through the full pipeline."
          }
        },
        {
          "name": "Convert document to HTML",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/viewer/convert",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "viewer",
                "convert"
              ]
            },
            "description": "Converts Office documents (DOCX, XLSX) to HTML for viewing."
          }
        },
        {
          "name": "Export content to PDF",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/document/export-pdf",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "document",
                "export-pdf"
              ]
            },
            "description": "Generates a PDF from provided content (migration reports, proposals, etc.)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\",\n  \"title\": \"\",\n  \"template\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "PM Stories",
      "item": [
        {
          "name": "Create a user story",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories"
              ]
            },
            "description": "Create a new user story within a project. Stories follow INVEST criteria\nand serve as test basis per ISTQB methodology.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"title\": \"\",\n  \"userStory\": \"\",\n  \"description\": \"\",\n  \"type\": \"\",\n  \"priority\": \"\",\n  \"acceptanceCriteria\": [],\n  \"storyPoints\": 0,\n  \"tags\": [],\n  \"assignee\": \"\",\n  \"sprintId\": \"your-id-here\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List stories for a project",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories"
              ]
            }
          }
        },
        {
          "name": "Get story details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories/:storyId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories",
                ":storyId"
              ]
            }
          }
        },
        {
          "name": "Update a story",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories/:storyId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories",
                ":storyId"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"\",\n  \"status\": \"\",\n  \"priority\": \"\",\n  \"storyPoints\": 0,\n  \"assignee\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete a story",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories/:storyId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories",
                ":storyId"
              ]
            }
          }
        },
        {
          "name": "Generate test cases from story",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories/:storyId/generate-tests",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories",
                ":storyId",
                "generate-tests"
              ]
            },
            "description": "Generates ISTQB-aligned test cases using the story as test basis.\nAcceptance criteria become test conditions. Generated test case IDs\nare automatically bound to the story.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"scope\": \"\",\n  \"format\": \"\",\n  \"maxTestCases\": 20\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "AI-generate stories from requirements",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories",
                "generate"
              ]
            },
            "description": "Provide requirements text and get well-structured user stories\nfollowing INVEST criteria. Optionally auto-save to a project.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"requirements\": \"\",\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"maxStories\": 20,\n  \"autoSave\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Self-heal, sync test cases when story changes",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories/:storyId/sync-tests",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories",
                ":storyId",
                "sync-tests"
              ]
            },
            "description": "When a story's acceptance criteria or description changes, this\nendpoint analyzes the delta and recommends test case updates:\n- UPDATED: existing tests with changed expected results\n- ADDED: new tests for new acceptance criteria\n- REMOVED: obsolete tests for deleted criteria\n\nPass the previous version in the body for accurate diff analysis.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"previousVersion\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "PM Estimation",
      "item": [
        {
          "name": "AI story pointing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/stories/:storyId/estimate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "stories",
                ":storyId",
                "estimate"
              ]
            },
            "description": "Uses AI to estimate story points on a modified Fibonacci scale (1,2,3,5,8,13,21).\nConsiders complexity, risk factors, and effort breakdown (development, testing, integration).\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"context\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "PM Sprints",
      "item": [
        {
          "name": "Create a sprint",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/sprints",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "sprints"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"name\": \"\",\n  \"goal\": \"\",\n  \"startDate\": \"\",\n  \"endDate\": \"\",\n  \"durationWeeks\": 2,\n  \"velocity\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List sprints for a project",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/sprints",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "sprints"
              ]
            }
          }
        },
        {
          "name": "Get sprint details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/sprints/:sprintId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "sprints",
                ":sprintId"
              ]
            }
          }
        },
        {
          "name": "Update a sprint",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/sprints/:sprintId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "sprints",
                ":sprintId"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"goal\": \"\",\n  \"status\": \"\",\n  \"storyIds\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "AI sprint planning",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/sprints/:sprintId/plan",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "sprints",
                ":sprintId",
                "plan"
              ]
            },
            "description": "AI selects and prioritizes stories for the sprint based on velocity,\npriority, dependencies, and risk. Optionally auto-assigns stories.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"velocity\": 30,\n  \"autoAssign\": false,\n  \"context\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "PM Documentation",
      "item": [
        {
          "name": "Generate user manual",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/docs/generate/user-manual",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "docs",
                "generate",
                "user-manual"
              ]
            },
            "description": "Generate a comprehensive user manual from stories, test results,\nor direct content. Structured with overview, getting started,\nfeatures, troubleshooting, and FAQ sections.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"your-id-here\",\n  \"title\": \"\",\n  \"content\": \"\",\n  \"stories\": [],\n  \"testResults\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "PM Risks",
      "item": [
        {
          "name": "AI risk analysis (Rex Black methodology)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/pm/risks/analyze",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "pm",
                "risks",
                "analyze"
              ]
            },
            "description": "Identify and score product risks from requirements or project stories\nusing Rex Black's risk-based testing methodology.\n\n**Scoring:** Likelihood (1-5) x Impact (1-5) = Risk Level (1-25)\n**Categories:** critical (20-25), high (12-19), medium (6-11), low (1-5)\n\nIncludes compliance gap analysis for FedRAMP, SOC 2, HIPAA, etc.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"requirements\": \"\",\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"domain\": \"government\",\n  \"complianceFrameworks\": [\n    \"FedRAMP\",\n    \"SOC2\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Public Test Case Generator",
      "item": [
        {
          "name": "Extract requirements text from an uploaded file",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/extract-from-file",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "extract-from-file"
              ]
            },
            "description": "Accepts a file upload (PDF, DOCX, DOC, XLSX, XLS, CSV, TXT, MD) and\nreturns the extracted plain text suitable for pasting into the test\ncase generator. Limit: 10 MB per file, 30 uploads per hour per IP.\n",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Generate test cases from requirements",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "generate"
              ]
            },
            "description": "Generates ISTQB-aligned test cases enriched with the Rex Black training\nknowledge base. Two modes:\n\n* **`stream: false` (default)**, synchronous; returns the test cases in\n  the response body. Capped by CloudFront's 120-second timeout.\n* **`stream: true`**, dispatches to a background Lambda worker and\n  returns an `executionId` immediately. Subscribe via WebSocket to\n  receive `status`, `tool_call`, and `result` events.\n\nSupports five `mode` values: `agentic` (multi-turn Claude tool-use,\ndefault), `generate` (single-shot), `extract-requirements` (parse a\nrequirements doc into testable items), `gap-analysis`, and `fill-gaps`.\n\nRate limit: 20 generations per hour per IP.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"requirements\": \"\",\n  \"mode\": \"\",\n  \"scope\": \"\",\n  \"testTypes\": [],\n  \"priority\": \"\",\n  \"format\": \"\",\n  \"maxTestCases\": 100,\n  \"context\": \"\",\n  \"stream\": false,\n  \"existingTestCases\": [],\n  \"gaps\": [],\n  \"uploadedContent\": \"\",\n  \"uploadedFileName\": \"\",\n  \"userKbIds\": [],\n  \"codeContent\": \"\",\n  \"codeLanguage\": \"\",\n  \"sessionId\": \"\",\n  \"userEmail\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Public Test Case Export",
      "item": [
        {
          "name": "Export test cases to Jira/TestRail/Azure/CSV/Gherkin/JSON",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "export"
              ]
            },
            "description": "Renders an array of test cases into one of six deliverable formats and\nreturns it as a downloadable file. Use the `Content-Disposition` header\nto obtain the filename. Rate limit: 50 exports per hour per IP.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"testCases\": [],\n  \"format\": \"\",\n  \"projectName\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Public Test Sessions",
      "item": [
        {
          "name": "List generation sessions for an email",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/sessions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "sessions"
              ]
            },
            "description": "Returns up to 20 most recent sessions for a given email address.",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Create a generation session",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/sessions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "sessions"
              ]
            },
            "description": "Pre-creates an empty session you can later attach generations and edits to.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"\",\n  \"requirements\": \"\",\n  \"userEmail\": \"\",\n  \"scope\": \"\",\n  \"format\": \"\",\n  \"maxTestCases\": 0,\n  \"uploadedFileName\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Get full session (requirements, conversation, test cases, events)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/sessions/:sessionId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "sessions",
                ":sessionId"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Refine the session with a follow-up message (multi-turn)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/sessions/:sessionId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "sessions",
                ":sessionId"
              ]
            },
            "description": "Adds a user turn to the conversation and dispatches a refinement run.\nReturns an `executionId`, subscribe via WebSocket for streaming events.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"\",\n  \"scope\": \"\",\n  \"format\": \"\",\n  \"maxTestCases\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Replace the session's test cases (manual edits)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/sessions/:sessionId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "sessions",
                ":sessionId"
              ]
            },
            "description": "Persists inline edits made in the UI (title, description, steps, priority,\ntags). The full test cases array is replaced atomically, call this from\na debounced autosave loop.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"testCases\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Public Hosted Execution",
      "item": [
        {
          "name": "Dispatch a hosted browser run for selected test cases",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/execute",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "execute"
              ]
            },
            "description": "Spins up Headless Chromium in AWS Lambda, navigates to your `config.url`,\nand runs each selected test case. Each prose step is interpreted by Claude\ninto typed browser actions (`goto`, `click`, `fill`, `wait_for_selector`,\n`assert_text`, etc.), executed, and verified. Each step is captured as a\nPNG screenshot and uploaded to S3.\n\nReturns immediately with an `executionId`. Subscribe via WebSocket\n(`{action:\"subscribe\", executionId}`) to receive `execution_start`,\n`case_start`, `step_start`, `step_complete`, `case_complete`, and\n`execution_complete` events. When the run completes, fetch\n`GET /api/public/test-cases/executions/{executionId}` for signed evidence URLs.\n\n**Free-tier limit:** 5 executions per hour per email.\n**Per-case timeout:** 240s. **Per-step timeout:** 30s.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sessionId\": \"\",\n  \"testCaseIds\": [],\n  \"testType\": \"\",\n  \"config\": {},\n  \"parallel\": false,\n  \"userEmail\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Get execution detail with signed evidence URLs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/executions/:executionId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "executions",
                ":executionId"
              ]
            },
            "description": "Returns the execution metadata, per-test-case results, and pre-signed S3\nURLs (1-hour TTL) for video, screenshots, console logs, network HAR, and\nmanifest/timeline JSON.\n",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "List past hosted execution runs for a session",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/public/test-cases/sessions/:sessionId/executions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "public",
                "test-cases",
                "sessions",
                ":sessionId",
                "executions"
              ]
            },
            "description": "Returns lightweight metadata for each prior run (status, counts, browser,\nbaseUrl, durationMs). Used by the execution-history panel on the public\npage. For the full result of a specific run, call\n`GET /api/public/test-cases/executions/{executionId}`.\n",
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "QA Setup",
      "item": [
        {
          "name": "QA readiness check, shows quick-start and advanced paths",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/setup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "setup"
              ]
            },
            "description": "Returns two paths to test case generation:\n\n**Quick Start (zero setup):** POST requirements text directly to `/api/qa/test-cases/generate`.\nNo organization, project, or knowledge base needed.\n\n**Advanced:** Full project + knowledge base setup for richer context,\nsemantic search over indexed documents, and persistent test artifacts.\n\nMethodology: ISTQB CTFL with EP, BVA, Decision Tables, State Transition, Use Case testing.\n"
          }
        }
      ]
    },
    {
      "name": "QA Test Cases",
      "item": [
        {
          "name": "List persisted test cases for a project or story",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-cases",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-cases"
              ]
            },
            "description": "Retrieve stored test cases. Generated test cases are auto-persisted\nwhen projectId and organizationId are provided during generation.\nFilter by project (required) and optionally by story.\n"
          }
        },
        {
          "name": "Create a test case manually",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-cases",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-cases"
              ]
            },
            "description": "Create a single test case manually (not AI-generated).\nLinked to a project and optionally to a story.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"title\": \"\",\n  \"description\": \"\",\n  \"preconditions\": \"\",\n  \"priority\": \"\",\n  \"type\": \"\",\n  \"steps\": [],\n  \"storyId\": \"\",\n  \"tags\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Generate ISTQB-aligned test cases",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-cases/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-cases",
                "generate"
              ]
            },
            "description": "Generate structured test cases using ISTQB methodology.\n\n**Three ways to provide input (simplest first):**\n1. `requirements`, paste your requirements text directly (no setup needed)\n2. `projectId`, uses the project's linked knowledge base\n3. `knowledgeBaseId`, searches a specific indexed KB\n\nAll three can be combined for richer context.\n\n**ISTQB Design Techniques Applied:**\n- Equivalence Partitioning (EP)\n- Boundary Value Analysis (BVA)\n- Decision Table Testing\n- State Transition Testing\n- Use Case Testing\n\n**Export formats:** JSON, CSV, Gherkin, Jira Xray, TestRail, Azure DevOps\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"requirements\": \"REQ-001: The system shall allow users to register with email and password. Password must be at least 8 characters with uppercase, lowercase, number, and special character.\",\n  \"projectId\": \"your-id-here\",\n  \"knowledgeBaseId\": \"your-id-here\",\n  \"scope\": \"\",\n  \"testTypes\": [],\n  \"priority\": \"\",\n  \"format\": \"\",\n  \"maxTestCases\": 50,\n  \"context\": \"\",\n  \"includeTraceability\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Export test cases in tool-compatible formats",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-cases/export",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-cases",
                "export"
              ]
            },
            "description": "Takes generated test cases and exports them in formats compatible\nwith major test management tools.\n\n**Supported Formats:**\n- `json`, Standard JSON with full metadata\n- `csv`, Spreadsheet-compatible CSV\n- `gherkin`, Cucumber/BDD .feature file format\n- `jira-xray`, Jira Xray test case import format\n- `testrail`, TestRail API import format\n- `azure-devops`, Azure DevOps Test Case work items\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"testCases\": [],\n  \"format\": \"\",\n  \"projectName\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "QA Test Scripts",
      "item": [
        {
          "name": "Export as runnable Playwright/Cypress/Selenium scripts",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-cases/export-scripts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-cases",
                "export-scripts"
              ]
            },
            "description": "Generate REAL, RUNNABLE test automation scripts from test cases.\nOutput files can be saved directly into your repo and executed.\n\n**Supported frameworks:**\n- Playwright (TypeScript/JavaScript)\n- Cypress (TypeScript/JavaScript)\n- Selenium (Python/Java)\n- Puppeteer (TypeScript/JavaScript)\n\n**Includes:**\n- Complete test files with imports, assertions, and proper structure\n- Page Object classes (optional)\n- Helper utilities (login, data setup)\n- Framework config file (playwright.config.ts, cypress.config.ts, etc.)\n- package.json with correct dependencies\n- README with run instructions\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"testCases\": [],\n  \"framework\": \"\",\n  \"language\": \"\",\n  \"baseUrl\": \"\",\n  \"projectName\": \"\",\n  \"includePageObjects\": true,\n  \"includeHelpers\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "QA Requirements",
      "item": [
        {
          "name": "Extract testable requirements from text or KB",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/requirements/extract",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "requirements",
                "extract"
              ]
            },
            "description": "Analyzes content to extract structured, testable requirements\nusing ISTQB requirement analysis standards.\n\n**Two ways to provide input:**\n1. `content`, paste your requirements/spec text directly (no KB needed)\n2. `knowledgeBaseId` + `organizationId`, search an indexed KB\n\nBoth can be combined.\n\nEach requirement includes testability assessment, suggested ISTQB\ndesign technique, and acceptance criteria in Given/When/Then format.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"The checkout shall support Visa, Mastercard, and PayPal. All payment data must be PCI-DSS compliant.\",\n  \"knowledgeBaseId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"scope\": \"\",\n  \"includeTestability\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "QA Test Execution",
      "item": [
        {
          "name": "Execute test cases in a real browser (Puppeteer/Chromium)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-execution/run",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-execution",
                "run"
              ]
            },
            "description": "**Real browser execution** against your live URL.\n\nLaunches a headless Chromium browser, navigates to the target URL,\nand executes each test step by translating natural-language actions\ninto real browser interactions (click, type, assert, scroll, etc.).\n\n**Features:**\n- Real Puppeteer-based browser execution\n- **Parallel execution**, up to 10 browsers simultaneously\n- **Self-healing selectors**, AI auto-fixes broken CSS selectors at runtime\n- Screenshot capture at each step\n- Console error collection\n- Automatic defect creation for failed tests\n- Full traceability to stories and sprints\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"name\": \"\",\n  \"targetUrl\": \"\",\n  \"environment\": \"\",\n  \"testCases\": [],\n  \"storyId\": \"your-id-here\",\n  \"sprintId\": \"your-id-here\",\n  \"autoCreateDefects\": true,\n  \"parallel\": 3\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get execution status",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-execution/:executionId/status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-execution",
                ":executionId",
                "status"
              ]
            }
          }
        },
        {
          "name": "Get detailed execution results",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/test-execution/:executionId/results",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "test-execution",
                ":executionId",
                "results"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "QA Knowledge",
      "item": [
        {
          "name": "Query QA training materials and ISTQB knowledge",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/knowledge/query",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "knowledge",
                "query"
              ]
            },
            "description": "Ask questions about QA definitions, best practices, standards,\nmethodologies, and tools. Uses the organization's training\nmaterials as the primary knowledge source.\n\n**Categories:**\n- `definition`, What is X? Terminology and definitions\n- `best-practice`, Best approaches and recommended patterns\n- `standard`, ISTQB, ISO 29119, and other standards\n- `methodology`, Testing methodologies and frameworks\n- `tool`, Tool recommendations and integration guidance\n- `general`, General QA questions\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"question\": \"What is boundary value analysis?\",\n  \"knowledgeBaseId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"category\": \"\",\n  \"includeSourceCitations\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "QA Defects",
      "item": [
        {
          "name": "Create a defect manually",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/defects",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "defects"
              ]
            },
            "description": "Create a bug/defect ticket linked to stories, test cases, and executions.\nDefects are also auto-created when browser tests fail.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"title\": \"\",\n  \"description\": \"\",\n  \"stepsToReproduce\": \"\",\n  \"severity\": \"\",\n  \"priority\": \"\",\n  \"storyId\": \"your-id-here\",\n  \"testCaseId\": \"\",\n  \"executionId\": \"your-id-here\",\n  \"environment\": \"\",\n  \"assignee\": \"\",\n  \"tags\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List defects for a project",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/defects",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "defects"
              ]
            }
          }
        },
        {
          "name": "Get defect details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/defects/:defectId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "defects",
                ":defectId"
              ]
            }
          }
        },
        {
          "name": "Update defect (status, assignee, resolution)",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/defects/:defectId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "defects",
                ":defectId"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"\",\n  \"severity\": \"\",\n  \"priority\": \"\",\n  \"assignee\": \"\",\n  \"resolution\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete a defect",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/defects/:defectId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "defects",
                ":defectId"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "QA Traceability",
      "item": [
        {
          "name": "Full project traceability matrix (live data)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/traceability",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "traceability"
              ]
            },
            "description": "Returns the complete traceability chain from your project's live data:\nStory -> Test Cases -> Execution Results -> Defects\n\nIncludes coverage statistics, pass rates, and open defect counts.\nEssential for government compliance audits and ISTQB process improvement.\n"
          }
        }
      ]
    },
    {
      "name": "QA BDD",
      "item": [
        {
          "name": "Generate executable BDD/Gherkin feature files",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/bdd",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "bdd"
              ]
            },
            "description": "First-class BDD generation, produces complete .feature files with\nstep definitions, data tables, and scenario outlines.\n\n**Supported frameworks:** Cucumber, Behave, SpecFlow, Cypress-Cucumber, Playwright-BDD\n**Languages:** TypeScript, JavaScript, Python, Java, C#\n\nApplies ISTQB test design techniques (EP, BVA) in scenario outlines.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"requirements\": \"\",\n  \"framework\": \"\",\n  \"language\": \"\",\n  \"includeStepDefs\": true,\n  \"includeDataTables\": true,\n  \"maxScenarios\": 15\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "QA CI/CD",
      "item": [
        {
          "name": "CI/CD webhook, trigger test execution from pipelines",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/qa/webhooks",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "qa",
                "webhooks"
              ]
            },
            "description": "Trigger real browser test execution from CI/CD pipelines.\nSupports GitHub Actions, Jenkins, GitLab CI, Azure DevOps.\nAuthenticates via X-GoOmni-Key header.\n\n**Features:**\n- Real Puppeteer browser execution\n- Auto-create defects for failures\n- Callback URL for CI/CD status reporting\n- Branch and commit SHA tracking\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"source\": \"\",\n  \"pipelineId\": \"\",\n  \"commitSha\": \"\",\n  \"branch\": \"\",\n  \"projectId\": \"your-id-here\",\n  \"organizationId\": \"your-id-here\",\n  \"targetUrl\": \"\",\n  \"environment\": \"\",\n  \"testCases\": [],\n  \"autoCreateDefects\": true,\n  \"callbackUrl\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Voice",
      "item": [
        {
          "name": "List voice calls",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/calls",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "calls"
              ]
            }
          }
        },
        {
          "name": "List phone numbers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/phone-numbers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "phone-numbers"
              ]
            }
          }
        },
        {
          "name": "Add phone number",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/phone-numbers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "phone-numbers"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phoneNumber\": \"\",\n  \"kbId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get LiveKit session token",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/livekit/token",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "livekit",
                "token"
              ]
            },
            "description": "Generate a LiveKit access token for browser-based voice chat.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"room\": \"\",\n  \"identity\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Voice Outbound",
      "item": [
        {
          "name": "Initiate outbound call",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/voice/outbound/initiate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "voice",
                "outbound",
                "initiate"
              ]
            },
            "description": "Start an outbound phone call using the voice agent associated with the\nspecified knowledge base. The agent uses the KB's voice context and tools.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "RFP",
      "item": [
        {
          "name": "Analyze RFP documents",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/rfp/analyze",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "rfp",
                "analyze"
              ]
            },
            "description": "Extracts requirements, evaluation criteria, and key details from uploaded RFP documents.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Generate proposal sections",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/rfp/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "rfp",
                "generate"
              ]
            },
            "description": "Generates proposal content for specified sections using AI and company knowledge bases.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"\",\n  \"sectionIds\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Upload RFP files",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/rfp/upload",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "rfp",
                "upload"
              ]
            }
          }
        },
        {
          "name": "List RFP sections",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/rfp/sections",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "rfp",
                "sections"
              ]
            }
          }
        },
        {
          "name": "Create RFP section",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/rfp/sections",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "rfp",
                "sections"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Generate RFP document",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/rfp/generate-document",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "rfp",
                "generate-document"
              ]
            },
            "description": "Generates a complete proposal document (PDF) from all sections.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "RFP Agents",
      "item": [
        {
          "name": "Run RFP agent chain",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/agents/chain",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "agents",
                "chain"
              ]
            },
            "description": "Executes the full RFP agent chain: Analysis → Assessment → Research → Win Themes → Writer → QA.\nEach agent builds on the output of the previous one. Progress is streamed via WebSocket.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Opportunities",
      "item": [
        {
          "name": "Start opportunity scan",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/opportunities/scan",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "opportunities",
                "scan"
              ]
            },
            "description": "Starts an asynchronous scan for procurement opportunities across multiple sources:\nSAM.gov, USASpending, Periscope, BidNet, Bonfire, PlanetBids, and more.\nResults are AI-qualified against your search filter criteria.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List scans",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/opportunities/scan",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "opportunities",
                "scan"
              ]
            }
          }
        },
        {
          "name": "Get scan status and results",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/opportunities/scan/:scanId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "opportunities",
                "scan",
                ":scanId"
              ]
            }
          }
        },
        {
          "name": "List opportunities",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/opportunities/list",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "opportunities",
                "list"
              ]
            }
          }
        },
        {
          "name": "List search filters",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/search-filters",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "search-filters"
              ]
            }
          }
        },
        {
          "name": "Create search filter",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/search-filters",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "search-filters"
              ]
            },
            "description": "Create a filter defining criteria for opportunity scanning (industries, NAICS codes, set-asides, etc.)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"industries\": [],\n  \"naicsCodes\": [],\n  \"states\": [],\n  \"setAsides\": [],\n  \"keywords\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get taxonomy data",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/search-filters/taxonomy",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "search-filters",
                "taxonomy"
              ]
            },
            "description": "Returns available industries, departments, states, NAICS codes, and set-aside types."
          }
        }
      ]
    },
    {
      "name": "Search",
      "item": [
        {
          "name": "Unified search",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/search",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "search"
              ]
            },
            "description": "Search across projects and knowledge bases.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enhanced search with filters",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/search/enhanced",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "search",
                "enhanced"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"query\": \"\",\n  \"filters\": {},\n  \"kbIds\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Campaigns",
      "item": [
        {
          "name": "List campaigns",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/campaigns",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "campaigns"
              ]
            }
          }
        },
        {
          "name": "Create campaign",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/campaigns",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "campaigns"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"kbId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get campaign",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/campaigns/:campaignId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "campaigns",
                ":campaignId"
              ]
            }
          }
        },
        {
          "name": "Update campaign",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/campaigns/:campaignId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "campaigns",
                ":campaignId"
              ]
            }
          }
        },
        {
          "name": "Delete campaign",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/campaigns/:campaignId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "campaigns",
                ":campaignId"
              ]
            }
          }
        },
        {
          "name": "Add contacts to campaign",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/campaigns/:campaignId/contacts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "campaigns",
                ":campaignId",
                "contacts"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"contacts\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "SMS",
      "item": [
        {
          "name": "Send SMS",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/sms/send",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "sms",
                "send"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"\",\n  \"body\": \"\",\n  \"from\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get SMS history",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/sms/history",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "sms",
                "history"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Integrations",
      "item": [
        {
          "name": "List integrations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations"
              ]
            }
          }
        },
        {
          "name": "Create integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations"
              ]
            }
          }
        },
        {
          "name": "Get Twilio integration",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations/twilio",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations",
                "twilio"
              ]
            }
          }
        },
        {
          "name": "Configure Twilio integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations/twilio",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations",
                "twilio"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"accountSid\": \"\",\n  \"authToken\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get HubSpot integration",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations/hubspot",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations",
                "hubspot"
              ]
            }
          }
        },
        {
          "name": "Configure HubSpot integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations/hubspot",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations",
                "hubspot"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "PM Integrations",
      "item": [
        {
          "name": "Test connection to a PM tool (Jira, Asana, Linear, Azure DevOps)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations/test-connection",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations",
                "test-connection"
              ]
            },
            "description": "Verifies that the stored credentials for an integration are valid.\nUses the official SDK for each platform to test connectivity.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Push stories, test cases, or defects to Jira / Asana / Linear / Azure DevOps",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/integrations/push",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "integrations",
                "push"
              ]
            },
            "description": "Unified endpoint to push any item type (story, testCase, defect) to any connected PM tool.\nReads the integration config to determine credentials and routes to the correct SDK.\n\n**Supported platforms & SDKs:**\n- **Jira**, `jira.js` (Stories, Bugs, Tasks with issue linking)\n- **Asana**, `asana` (Tasks, subtasks under projects)\n- **Linear**, `@linear/sdk` (Issues, sub-issues with priority mapping)\n- **Azure DevOps**, `azure-devops-node-api` (User Stories, Bugs, Test Cases with XML steps)\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"itemType\": \"\",\n  \"items\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Google Drive",
      "item": [
        {
          "name": "Start Google Drive OAuth",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/google-drive/auth",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "google-drive",
                "auth"
              ]
            },
            "description": "Redirects to Google OAuth consent screen."
          }
        },
        {
          "name": "Exchange OAuth code",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/google-drive/auth",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "google-drive",
                "auth"
              ]
            }
          }
        },
        {
          "name": "List Drive folders",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/google-drive/folders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "google-drive",
                "folders"
              ]
            }
          }
        },
        {
          "name": "List Drive files",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/google-drive/files",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "google-drive",
                "files"
              ]
            }
          }
        },
        {
          "name": "Import file from Drive",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/google-drive/import",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "google-drive",
                "import"
              ]
            },
            "description": "Downloads a single file from Google Drive and processes it into a knowledge base.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"fileId\": \"\",\n  \"kbId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Bulk import from Drive",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/google-drive/bulk-import",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "google-drive",
                "bulk-import"
              ]
            },
            "description": "Imports all files from linked Google Drive folders into a knowledge base.\nQueues each file for async processing through the indexing pipeline.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"kbId\": \"\",\n  \"folderId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Index Drive content",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/google-drive/index",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "google-drive",
                "index"
              ]
            },
            "description": "Triggers indexing of Google Drive content for a knowledge base."
          }
        }
      ]
    },
    {
      "name": "Website Crawling",
      "item": [
        {
          "name": "Crawl and index a website",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/crawl",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "crawl"
              ]
            },
            "description": "Starts a full website crawl for a website-type knowledge base.\nThe crawler follows links up to the configured depth, extracts content\nfrom each page, runs Lighthouse analysis, and indexes everything.\n\nPipeline: Crawl → Extract → Lighthouse → Chunk → Embed → Index\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"maxDepth\": 3,\n  \"maxPages\": 100\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Reset all indexing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/reset-indexing",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "reset-indexing"
              ]
            },
            "description": "Completely resets a knowledge base's indexing. Deletes all files,\nclears S3 content, purges SQS queues, and resets counters.\nUse this for a clean re-crawl/re-index.\n"
          }
        },
        {
          "name": "Check pipeline health",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/pipeline-health",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "pipeline-health"
              ]
            },
            "description": "Checks the health of the indexing pipeline for a knowledge base.\nReports stuck files, failed jobs, and queue status.\nOptionally auto-fixes stuck files.\n"
          }
        }
      ]
    },
    {
      "name": "Site Analysis",
      "item": [
        {
          "name": "Get KB-level site analysis",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/analysis",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "analysis"
              ]
            },
            "description": "Returns aggregated analysis across all pages in a website knowledge base:\n- Average Lighthouse scores (performance, accessibility, SEO, best practices)\n- Page classification breakdown (by content type, design quality)\n- Navigation structure overview\n- Responsive design scores\n"
          }
        },
        {
          "name": "Get per-page analysis",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/files-analysis",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "files-analysis"
              ]
            },
            "description": "Returns detailed analysis for every page in the knowledge base:\n- Lighthouse scores per page\n- Vision AI classification (page type, content intent)\n- Navigation structures per page\n- Content type mapping\n\nUse `includeDetails=true` for full S3 data including element-level details.\n"
          }
        },
        {
          "name": "Get single page analysis",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/files/:fileId/analysis",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "files",
                ":fileId",
                "analysis"
              ]
            },
            "description": "Full Vision AI + Lighthouse analysis for one page."
          }
        },
        {
          "name": "Get full Lighthouse report",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/lighthouse-details/:fileId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "lighthouse-details",
                ":fileId"
              ]
            },
            "description": "Returns the complete Lighthouse report for a page including:\n- **Performance**: LCP, FID, CLS, TTFB, speed index\n- **Accessibility**: Color contrast, ARIA, alt text, keyboard nav, WCAG compliance\n- **SEO**: Meta descriptions, titles, crawlability, structured data, canonical URLs\n- **Best Practices**: HTTPS, console errors, image optimization\n\nEach category includes specific audit items with pass/fail status and recommendations.\n"
          }
        }
      ]
    },
    {
      "name": "Master Context",
      "item": [
        {
          "name": "Regenerate KB master context",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/master-context/regenerate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "master-context",
                "regenerate"
              ]
            },
            "description": "Uses AI to regenerate the master context document from all indexed content.\nThe master context is a comprehensive summary used by agents and voice bots.\nOptionally provide a custom prompt to guide generation.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customPrompt\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Save master context",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/master-context/save",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "master-context",
                "save"
              ]
            },
            "description": "Manually save or edit the master context.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ontology",
      "item": [
        {
          "name": "Get KB ontology",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/ontology",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "ontology"
              ]
            },
            "description": "Returns extracted entities, relationships, and type breakdowns from\nall indexed documents. Entities include people, organizations, concepts,\ndates, and domain-specific terms.\n"
          }
        },
        {
          "name": "Optimize KB with domain ontology",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/knowledge-bases/:id/optimize",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "knowledge-bases",
                ":id",
                "optimize"
              ]
            },
            "description": "Re-runs ontology tagging with a specific domain or custom ontology.\nImproves entity extraction and search relevance for domain-specific content.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"domain\": \"\",\n  \"customOntology\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Validation",
      "item": [
        {
          "name": "Detect PII in content",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/validation/pii-detect",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "validation",
                "pii-detect"
              ]
            },
            "description": "Scans content for Personally Identifiable Information:\n- Social Security Numbers (SSN)\n- Credit card numbers\n- Email addresses\n- Phone numbers\n\nOptionally redacts detected PII by replacing with masked values.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\",\n  \"redact\": false,\n  \"piiTypes\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Check content compliance",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/validation/compliance-check",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "validation",
                "compliance-check"
              ]
            },
            "description": "Validates content against policy rules and compliance requirements.\nChecks for regulatory compliance, policy adherence, and content standards.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\",\n  \"rules\": [],\n  \"policyDocument\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Score content quality",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/validation/quality-score",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "validation",
                "quality-score"
              ]
            },
            "description": "Evaluates content quality across multiple dimensions:\ncompleteness, accuracy, clarity, and professional tone.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\",\n  \"criteria\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Validate citations",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/validation/citation-validate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "validation",
                "citation-validate"
              ]
            },
            "description": "Validates that citations in content are accurate and traceable\nto source documents in the knowledge base.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\",\n  \"kbId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Document Accessibility",
      "item": [
        {
          "name": "WCAG 2.1 / Section 508 accessibility audit",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/documents/accessibility/audit",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "documents",
                "accessibility",
                "audit"
              ]
            },
            "description": "Analyze a PDF or document for ADA compliance. Checks tagged structure,\nreading order, alt text, headings, bookmarks, form labels, color contrast,\nand more. Returns a detailed audit with compliance score and remediation plan.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"\",\n  \"content\": \"\",\n  \"fileId\": \"\",\n  \"knowledgeBaseId\": \"\",\n  \"standard\": \"\",\n  \"includeRemediation\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Remediate a PDF for ADA/WCAG compliance",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/documents/accessibility/remediate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "documents",
                "accessibility",
                "remediate"
              ]
            },
            "description": "Upload a PDF and receive a remediated, accessibility-compliant version.\nThe endpoint extracts text with layout data, uses AI to classify content\nstructure (headings, paragraphs, lists, images), then modifies the PDF\nbinary to add proper tags, metadata, language, bookmarks, and tab order.\nReturns the fixed PDF as a downloadable file or base64 JSON.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"\",\n  \"base64\": \"\",\n  \"title\": \"\",\n  \"language\": \"\",\n  \"author\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Document Analytics",
      "item": [
        {
          "name": "Analyze document structure, readability, and quality",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/documents/analytics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "documents",
                "analytics"
              ]
            },
            "description": "Multi-analysis endpoint for document content. Computes Flesch reading ease,\nFlesch-Kincaid grade level, structure breakdown (headings, lists, tables),\nmetadata extraction, language detection, quality scoring, and AI summary.\nSelect which analyses to run via the `analyses` array.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\",\n  \"url\": \"\",\n  \"fileName\": \"\",\n  \"analyses\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Document PII",
      "item": [
        {
          "name": "Scan for personally identifiable information",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/documents/pii/scan",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "documents",
                "pii",
                "scan"
              ]
            },
            "description": "Detect PII in document content: SSNs, credit cards, emails, phone numbers,\naddresses, dates of birth, driver's licenses, passport numbers, IP addresses,\nbank accounts, and medical record numbers. Optionally redact detected PII.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"content\": \"\",\n  \"redact\": false,\n  \"categories\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Sync",
      "item": [
        {
          "name": "Pull and normalize tickets from Jira/Asana",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/sync",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "sync"
              ]
            },
            "description": "Sync all tickets from an external PM integration. Returns normalized tickets\nacross platforms and text chunks ready for KB indexing.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Analysis",
      "item": [
        {
          "name": "AI-powered ticket quality analysis",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/analyze",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "analyze"
              ]
            },
            "description": "Analyze ticket quality for specific tickets or all tickets in an integration.\nReturns quality scores (1-10), issues, suggestions, and missing fields.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"ticketIds\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Generation",
      "item": [
        {
          "name": "Generate structured agile tickets from raw input",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "generate"
              ]
            },
            "description": "Create well-structured agile tickets from raw input (email, bug report,\nfeature request, support message). Uses the existing ticket landscape to\navoid duplicates and reference related work. Supports multi-channel input.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"input\": \"\",\n  \"channel\": \"\",\n  \"pushToIntegration\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Enhancement",
      "item": [
        {
          "name": "Enhance tickets with agile best practices",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/enhance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "enhance"
              ]
            },
            "description": "Apply Scrum, Kanban, or hybrid agile best practices to existing tickets.\nReturns improved titles, structured descriptions, Given/When/Then acceptance\ncriteria, Fibonacci story points, and proper categorization.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"ticketIds\": [],\n  \"methodology\": \"\",\n  \"pushUpdates\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Deduplication",
      "item": [
        {
          "name": "Find semantically similar or overlapping tickets",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/duplicates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "duplicates"
              ]
            },
            "description": "Uses AI to identify duplicate or overlapping tickets by semantic similarity,\nincluding cases where the titles differ. Returns confidence scores and explanations.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Status",
      "item": [
        {
          "name": "Intelligent ticket status lookup",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "status"
              ]
            },
            "description": "\"Has this bug been fixed?\" Search the ticket landscape with natural language.\nReturns matching tickets, current status, and a recommendation (already_resolved,\nin_progress, create_new, consolidate, or reopen).\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"query\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Consolidation",
      "item": [
        {
          "name": "Merge cross-channel duplicate tickets",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/consolidate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "consolidate"
              ]
            },
            "description": "Identify and merge duplicate tickets from multiple channels into canonical\nentries. Groups related tickets, generates consolidated tickets, and\nrecommends which to keep vs close.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"newInput\": \"\",\n  \"newChannel\": \"\",\n  \"threshold\": 0.7\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Ticket Inbound",
      "item": [
        {
          "name": "Universal multi-channel ticket intake",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/inbound",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "inbound"
              ]
            },
            "description": "Process incoming requests from any channel (email, support form, Slack, webhook).\nParses raw input, checks for duplicates against existing tickets, generates\nstructured agile tickets, and returns a recommendation (create, consolidate, skip).\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"channel\": \"\",\n  \"rawContent\": \"\",\n  \"metadata\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Public webhook for external systems",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/inbound/webhook",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "inbound",
                "webhook"
              ]
            },
            "description": "Machine-to-machine webhook endpoint for email services (SendGrid, Mailgun),\nsupport platforms (Intercom, Zendesk), or custom integrations.\nAuthenticated via API key (X-API-Key header or Authorization: Bearer).\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"organizationId\": \"your-id-here\",\n  \"integrationId\": \"your-id-here\",\n  \"channel\": \"\",\n  \"content\": \"\",\n  \"subject\": \"\",\n  \"senderEmail\": \"\",\n  \"senderName\": \"\",\n  \"urgency\": \"\",\n  \"customFields\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Dev Workflow",
      "item": [
        {
          "name": "Browse available tickets with filters",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/dev/list",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "dev",
                "list"
              ]
            },
            "description": "List tickets from a PM integration, filtered by status, priority, type, or\nassignee. Sorted by priority (critical first). Designed for Cursor/CoPilot.\n"
          }
        },
        {
          "name": "Claim ticket and get AI execution plan",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/dev/claim",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "dev",
                "claim"
              ]
            },
            "description": "Developer claims a ticket for implementation. Returns full ticket context,\nAI-generated step-by-step execution plan, related tickets, blockers,\nsuggested approach, and complexity estimate. Designed for Cursor/CoPilot.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"ticketId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Mark ticket done and update PM tool",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/tickets/dev/complete",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "tickets",
                "dev",
                "complete"
              ]
            },
            "description": "Developer marks a ticket complete after implementation. Automatically updates\nthe ticket in Jira/Asana with status change, work summary, files changed,\ntest results, commit hash, and PR URL.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integrationId\": \"your-id-here\",\n  \"ticketId\": \"\",\n  \"status\": \"\",\n  \"workSummary\": \"\",\n  \"filesChanged\": [],\n  \"testResults\": \"\",\n  \"commitHash\": \"\",\n  \"prUrl\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Analytics Ingestion",
      "item": [
        {
          "name": "Ingest pageviews, custom events, and identify payloads",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/collect",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "collect"
              ]
            },
            "description": "Primary tracker endpoint. Accepts Umami-style `{type, payload}` bodies.\nDerives `sessionId` and `visitId` server-side from IP, user agent, and\nwebsite salt. CORS open for browser beacons.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "CORS preflight for tracker",
          "request": {
            "method": "OPTIONS",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/collect",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "collect"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Ingest session replay chunks (rrweb)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/record",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "record"
              ]
            },
            "description": "Accepts batched rrweb events (max 200 per request). Uses the same session\nderivation as `/api/collect`. Upserts a `ReplaySession` manifest in\nDynamoDB and queues chunks for ClickHouse via SQS topic `session_replay`.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "CORS preflight for recorder",
          "request": {
            "method": "OPTIONS",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/record",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "record"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Legacy tracker ingest (Pages router)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/send",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "send"
              ]
            },
            "description": "**Deprecated alias.** Same contract as `/api/collect` but served from the\nPages router at `/api/analytics/send`. New integrations should use\n`/api/collect`.\n",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Record experiment exposure or conversion (tracker)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments/:experimentId/exposure",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments",
                ":experimentId",
                "exposure"
              ]
            },
            "description": "Public, CORS-open. Called by the GrowthBook-powered experiment runner in\nthe tracker. Validates `variantId` against the experiment definition;\ndedup is query-side in ClickHouse.\n",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"websiteId\": \"your-id-here\",\n  \"sessionId\": \"\",\n  \"variantId\": \"\",\n  \"goalName\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "CORS preflight",
          "request": {
            "method": "OPTIONS",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments/:experimentId/exposure",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments",
                ":experimentId",
                "exposure"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "PostHog Proxy",
      "item": [
        {
          "name": "PostHog decide endpoint (survey matching)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/posthog/decide",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "posthog",
                "decide"
              ]
            },
            "description": "Implements the PostHog `decide` contract for `posthog-js` when the SDK\nis pointed at your GoOmni host. `token` is the website UUID. Returns\nactive surveys for the distinct_id. Feature flags map is empty; experiments\nuse the GrowthBook path.\n",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "PostHog decide endpoint (POST variant)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/posthog/decide",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "posthog",
                "decide"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"your-id-here\",\n  \"distinct_id\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "CORS preflight",
          "request": {
            "method": "OPTIONS",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/posthog/decide",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "posthog",
                "decide"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "PostHog SDK static assets (empty stubs)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/posthog/:path",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "posthog",
                ":path"
              ]
            },
            "description": "Returns harmless empty JS for `config.js` and `array.js` requests.",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "PostHog SDK capture proxy (survey events only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/posthog/:path",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "posthog",
                ":path"
              ]
            },
            "description": "Translates PostHog capture POSTs into the GoOmni ingest pipeline.\nOnly `survey shown`, `survey sent`, and `survey dismissed` events are\nstored. All other capture events are acknowledged as no-ops.\n",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "CORS preflight",
          "request": {
            "method": "OPTIONS",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/posthog/:path",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "posthog",
                ":path"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Analytics Privacy",
      "item": [
        {
          "name": "Read privacy and masking policy (tracker init)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/privacy/:websiteId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "privacy",
                ":websiteId"
              ]
            },
            "description": "Public-readable. The tracker calls this on init to apply input masking,\ngeo-only mode, DNT respect, and performance gating before recording.\n",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Update privacy policy (admin)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/privacy/:websiteId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "privacy",
                ":websiteId"
              ]
            },
            "description": "Requires authenticated session with org access to the website.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"maskAllInputs\": 0,\n  \"maskAllText\": 0,\n  \"ipMasking\": 0,\n  \"dntRespect\": 0,\n  \"perfGateMaxMainThreadMs\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "CORS preflight",
          "request": {
            "method": "OPTIONS",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/privacy/:websiteId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "privacy",
                ":websiteId"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Heatmaps",
      "item": [
        {
          "name": "List heatmaps for a website",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/heatmaps",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "heatmaps"
              ]
            }
          }
        },
        {
          "name": "Create heatmap and dispatch builder worker",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/heatmaps",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "heatmaps"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"websiteId\": \"your-id-here\",\n  \"urlPath\": \"\",\n  \"device\": \"\",\n  \"viewportWidth\": 0,\n  \"viewportHeight\": 0,\n  \"windowStart\": \"\",\n  \"windowEnd\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get heatmap manifest and signed grid URLs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/heatmaps/:heatmapId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "heatmaps",
                ":heatmapId"
              ]
            },
            "description": "Returns signed S3 URLs for screenshot, click grid, move grid, and scroll bins."
          }
        },
        {
          "name": "Delete heatmap",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/heatmaps/:heatmapId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "heatmaps",
                ":heatmapId"
              ]
            }
          }
        },
        {
          "name": "Re-dispatch failed heatmap build",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/heatmaps/:heatmapId/retry",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "heatmaps",
                ":heatmapId",
                "retry"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Session Replay",
      "item": [
        {
          "name": "List session replays for a website",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/replay-sessions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "replay-sessions"
              ]
            }
          }
        },
        {
          "name": "Get replay manifest and rrweb events for playback",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/replay-sessions/:replaySessionId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "replay-sessions",
                ":replaySessionId"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Experiments",
      "item": [
        {
          "name": "List experiments for a website",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments"
              ]
            }
          }
        },
        {
          "name": "Create A/B experiment with variants and goals",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"websiteId\": \"your-id-here\",\n  \"name\": \"\",\n  \"hypothesis\": \"\",\n  \"variants\": [],\n  \"goals\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get experiment definition",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments/:experimentId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments",
                ":experimentId"
              ]
            }
          }
        },
        {
          "name": "Update experiment (status, variants, targeting)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments/:experimentId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments",
                ":experimentId"
              ]
            }
          }
        },
        {
          "name": "Archive experiment",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments/:experimentId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments",
                ":experimentId"
              ]
            }
          }
        },
        {
          "name": "Get variant stats snapshot",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/experiments/:experimentId/results",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "experiments",
                ":experimentId",
                "results"
              ]
            },
            "description": "Pass `refresh=true` to recompute stats in-band (5s cap)."
          }
        }
      ]
    },
    {
      "name": "Surveys",
      "item": [
        {
          "name": "List surveys for a website",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/surveys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "surveys"
              ]
            }
          }
        },
        {
          "name": "Create in-product survey (PostHog-compatible shape)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/surveys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "surveys"
              ]
            }
          }
        },
        {
          "name": "Get survey definition",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/surveys/:surveyId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "surveys",
                ":surveyId"
              ]
            }
          }
        },
        {
          "name": "Update survey",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/surveys/:surveyId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "surveys",
                ":surveyId"
              ]
            }
          }
        },
        {
          "name": "Delete survey",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/surveys/:surveyId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "surveys",
                ":surveyId"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Forms Analytics",
      "item": [
        {
          "name": "List form field analytics aggregates",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/forms",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "forms"
              ]
            },
            "description": "Form submissions and field-level metrics are ingested as custom events\nthrough `/api/collect`. This endpoint returns aggregated field stats.\n"
          }
        }
      ]
    },
    {
      "name": "Guided Flows",
      "item": [
        {
          "name": "List guided product tours for a website",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/guided-flows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "guided-flows"
              ]
            }
          }
        },
        {
          "name": "Create guided flow",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/guided-flows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "guided-flows"
              ]
            }
          }
        },
        {
          "name": "Active flows for tracker (public)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/guided-flows/active",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "guided-flows",
                "active"
              ]
            },
            "description": "CORS-open. Returns running guided flows for the website key.",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Get guided flow",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/guided-flows/:flowId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "guided-flows",
                ":flowId"
              ]
            }
          }
        },
        {
          "name": "Update guided flow",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/guided-flows/:flowId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "guided-flows",
                ":flowId"
              ]
            }
          }
        },
        {
          "name": "Delete guided flow",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/guided-flows/:flowId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "guided-flows",
                ":flowId"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Analytics Websites",
      "item": [
        {
          "name": "List websites for the authenticated user",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites"
              ]
            }
          }
        },
        {
          "name": "Create analytics website (tracker site key)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"\",\n  \"domain\": \"\",\n  \"teamId\": \"\",\n  \"shareId\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get website details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites/:websiteId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites",
                ":websiteId"
              ]
            }
          }
        },
        {
          "name": "Update website name, domain, or settings",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites/:websiteId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites",
                ":websiteId"
              ]
            }
          }
        },
        {
          "name": "Delete website and associated data",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites/:websiteId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites",
                ":websiteId"
              ]
            }
          }
        },
        {
          "name": "Public read-only dashboard by share token",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/share/:shareId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "share",
                ":shareId"
              ]
            },
            "description": "No auth when `shareId` is enabled on the website.",
            "auth": {
              "type": "noauth"
            }
          }
        },
        {
          "name": "Health check for analytics API",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/heartbeat",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "heartbeat"
              ]
            },
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    },
    {
      "name": "Analytics Metrics",
      "item": [
        {
          "name": "Summary stats for a date range",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites/:websiteId/stats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites",
                ":websiteId",
                "stats"
              ]
            },
            "description": "Core dashboard KPIs: pageviews, visitors, visits, bounces, totaltime.\nSupports dimensional filters (url, referrer, browser, device, country, etc.)\nand `compare` for period-over-period.\n\n**Query:** ClickHouse `website_event`, grouped by session/visit.\nSource: `src/analytics/queries/analytics/getWebsiteStats.ts`.\nPage builder `queryName`: `stats`.\n"
          }
        },
        {
          "name": "Ranked breakdown by dimension (url, referrer, device, country, etc.)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites/:websiteId/metrics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites",
                ":websiteId",
                "metrics"
              ]
            },
            "description": "Returns `{x, y}` rows: dimension value and count. Used for top pages,\nreferrers, device breakdown, and similar tables.\n\n**Query:** `SELECT dimension, count(*) FROM website_event GROUP BY dimension`.\nSource: `src/analytics/queries/analytics/pageviews/getPageviewMetrics.ts`\n(event columns) or `sessions/getSessionMetrics.ts` (session columns).\nPage builder: `topPages` (`type=url`), `referrers` (`type=referrer`),\n`deviceBreakdown` (`type=device`).\n"
          }
        },
        {
          "name": "Pageviews and sessions time series",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites/:websiteId/pageviews",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites",
                ":websiteId",
                "pageviews"
              ]
            },
            "description": "Chart data: pageview and session counts bucketed by hour/day/month.\n\n**Query:** `website_event` aggregated over time.\nSource: `src/analytics/queries/analytics/pageviews/getPageviewStats.ts`.\nPage builder: `pageViews`, `sessions`.\n"
          }
        },
        {
          "name": "Custom event breakdown",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/websites/:websiteId/events",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "websites",
                ":websiteId",
                "events"
              ]
            }
          }
        },
        {
          "name": "Discover custom event property keys",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/event-data/fields",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "event-data",
                "fields"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Analytics Realtime",
      "item": [
        {
          "name": "Active visitors in the last 30 minutes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/realtime/:websiteId",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "realtime",
                ":websiteId"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Analytics Reports",
      "item": [
        {
          "name": "List saved and built-in report types",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports"
              ]
            }
          }
        },
        {
          "name": "Funnel conversion report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports/funnel",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports",
                "funnel"
              ]
            },
            "description": "Ordered step conversion. Body: `websiteId`, `steps` (URL or event per step),\n`window` (minutes between steps), `dateRange`.\n\n**Query:** sessions that hit step 1, then 2, then 3 in order within the window.\nSource: `src/analytics/queries/analytics/reports/getFunnel.ts`.\nPage builder `queryName`: `funnel`.\nSee also: `/api-docs/analytics-reports`.\n"
          }
        },
        {
          "name": "Cohort retention report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports/retention",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports",
                "retention"
              ]
            },
            "description": "First-visit cohorts by day and return rate on subsequent days.\n\n**Query:** cohort assignment from first `website_event`, then return visits.\nSource: `src/analytics/queries/analytics/reports/getRetention.ts`.\nPage builder `queryName`: `retention`.\n"
          }
        },
        {
          "name": "Dimensional insights breakdown",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports/insights",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports",
                "insights"
              ]
            },
            "description": "Views, visitors, visits, bounces, and time grouped by a chosen field.\n\nSource: `src/analytics/queries/analytics/reports/getInsights.ts`.\n"
          }
        },
        {
          "name": "Goal completion report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports/goals",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports",
                "goals"
              ]
            },
            "description": "Counts of named goal events (custom events marked as goals).\n\nSource: `src/analytics/queries/analytics/reports/getGoals.ts`.\n"
          }
        },
        {
          "name": "User journey paths report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports/journey",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports",
                "journey"
              ]
            },
            "description": "Common sequences of pages within a session.\n\nSource: `src/analytics/queries/analytics/reports/getJourney.ts`.\n"
          }
        },
        {
          "name": "UTM campaign breakdown",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports/utm",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports",
                "utm"
              ]
            },
            "description": "Traffic grouped by utm_source, utm_medium, utm_campaign.\n\nSource: `src/analytics/queries/analytics/reports/getUTM.ts`.\n"
          }
        },
        {
          "name": "Revenue attribution report",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/reports/revenue",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "reports",
                "revenue"
              ]
            },
            "description": "Revenue totals tied to events or user properties over a date range.\n\nSource: `src/analytics/queries/analytics/reports/getRevenue.ts`.\n"
          }
        }
      ]
    },
    {
      "name": "Analytics Teams",
      "item": [
        {
          "name": "Current analytics user profile",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/me",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "me"
              ]
            }
          }
        },
        {
          "name": "List teams",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/teams",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "teams"
              ]
            }
          }
        },
        {
          "name": "Create team",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/teams",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "teams"
              ]
            }
          }
        },
        {
          "name": "List websites shared with a team",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/analytics/teams/:teamId/websites",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "analytics",
                "teams",
                ":teamId",
                "websites"
              ]
            }
          }
        }
      ]
    }
  ]
}