# Preuve AI Developers > Validate startup ideas from Claude, Cursor, or Codex. Viability score, competitors, source-linked evidence. - [Get started](https://docs.preuve.ai/index.md): A viability score, competitors, and source-linked evidence, from the agent you already use. - [MCP Server](https://docs.preuve.ai/mcp-server.md): A viability score, competitors, and sources, in the chat you are already in. - [HTTP API](https://docs.preuve.ai/quickstart.md): Same Preuve verdict, as JSON, from your own code. - [Authentication](https://docs.preuve.ai/authentication.md): One API key, one header. No signing, no bearer tokens, no sessions. - [Agent Skill](https://docs.preuve.ai/agent-skill.md): Your agent validates ideas without burning a paid scan. - [For AI Agents](https://docs.preuve.ai/for-ai-agents.md): How agents should read these docs, call the API, and behave with a Preuve key. Guidance rules, retry semantics, and safety. - [Scans and Enrichment](https://docs.preuve.ai/scans-and-enrichment.md): Starter vs deep scans, the async run lifecycle, and what the ideas-json export contains. - [Deep Modules](https://docs.preuve.ai/modules.md): Opt-in analysis modules on paid deep runs: Proof of Demand, Founder Fit, Playbook, Trends, and Community. - [Quotas and Billing](https://docs.preuve.ai/quotas-and-billing.md): The API consumes your existing Preuve account quotas. No separate API billing. - [Errors](https://docs.preuve.ai/errors.md): Every error is a stable JSON envelope with a machine-readable code. - [Introduction](https://docs.preuve.ai/api-reference/introduction.md): Thirteen endpoints: create, poll, enrich, export, idea generation, and Agency client work. - [Discover the API](https://docs.preuve.ai/api-reference/discovery/discover-the-api.md): Unauthenticated discovery document: base URL, where the OpenAPI spec and the docs live, how authentication works, what a call costs, the rate limits and the full endpoint list. Read this first when you know nothing else about the API. - [Start an analysis](https://docs.preuve.ai/api-reference/analyses/start-an-analysis.md): Create one analysis run. Async - poll with GET /api/agent/analyses/{id}. scanType is required and explicit: "starter" costs nothing, "deep" consumes paid account quota. clientRunId is your idempotency key: re-POSTing the same value replays the existing run. - [Poll an analysis](https://docs.preuve.ai/api-reference/analyses/poll-an-analysis.md): Returns run status, readyForExport, enrichment progress, per-module statuses (deep runs), and report/share URLs. Accepts the run id or the report id; any personal starter or deep report the key's account owns resolves, including ones created on the preuve.ai dashboard (their analysis id is the repor… - [Enrich an analysis](https://docs.preuve.ai/api-reference/analyses/enrich-an-analysis.md): Idempotently generates the missing core export sections for a COMPLETED run THIS API started. A report created on the preuve.ai dashboard is refused with 403 REPORT_NOT_FROM_AGENT_RUN, like the export: polling resolves it, generating against it does not. Optionally starts deep-only modules via body.… - [Export an analysis (ideas-json)](https://docs.preuve.ai/api-reference/analyses/export-an-analysis-ideas-json.md): Structured JSON export (schemaVersion 2) for one COMPLETED, export-ready analysis THIS API started. Deep runs include full sections, pivots, citations, and generated module payloads. A report created on the preuve.ai dashboard is not exportable here and answers 403 REPORT_NOT_FROM_AGENT_RUN: the pol… - [Start a batch](https://docs.preuve.ai/api-reference/batches/start-a-batch.md): Create up to 5 analysis runs in one batch. Idempotent on the batch clientRunId. Each item needs its own unique clientRunId. Item scanType is optional and falls back to the batch's, so set it per item only to mix starter and deep in one batch. - [Poll a batch](https://docs.preuve.ai/api-reference/batches/poll-a-batch.md): Batch state with one AnalysisRun per item. Item statuses are reconciled on every read, so a creation-time FAILED that was really a lost dispatch response heals here. - [Export a batch (ideas-json)](https://docs.preuve.ai/api-reference/batches/export-a-batch-ideas-json.md): Structured export for a batch. Includes only completed, export-ready items; every skipped item is listed in omittedItems with a reason. A single exportedAt is pinned per export so the same batch state always serializes identically. - [Generate startup ideas](https://docs.preuve.ai/api-reference/tools/generate-startup-ideas.md): Synchronous idea generation - the backing route for the generate_ideas MCP tool. Spends no scan quota or tokens. Free accounts get 5 generations per rolling 24 hours per account (GENERATION_LIMIT when exhausted). Paid-or-credited accounts skip that cap and get limit: null, under a daily fair-use cei… - [Get the Agency workspace](https://docs.preuve.ai/api-reference/agency/get-the-agency-workspace.md): Workspace identity, the caller's role, remaining shared project quota, and one page of the workspace's client reports - dashboard-created ones included, newest first, without report bodies. Consultant and AppSumo Agency accounts only: a key whose account holds no Agency workspace, or whose membershi… - [Start a client project](https://docs.preuve.ai/api-reference/agency/start-a-client-project.md): Create one deep client report against the shared Agency project quota. Never falls back to personal credits. Async: 202 on a new dispatch, 200 with reused=true when the clientRunId replays an existing report. clientRunId is scoped to the calling key; reusing one that belongs to a different workspace… - [List client reports](https://docs.preuve.ai/api-reference/agency/list-client-reports.md): Every client report in the workspace, newest first - including reports created in the Agency dashboard rather than through this API. Paginated with limit/offset; nextOffset is null on the last page. - [Poll a client report](https://docs.preuve.ai/api-reference/agency/poll-a-client-report.md): Status, tier, and report URL for one client report in the workspace. Does not return the report payload - use the export. - [Export a client report](https://docs.preuve.ai/api-reference/agency/export-a-client-report.md): Structured JSON for one COMPLETED client report. Starter and refunded reports keep their normal content restrictions, named under locked. ## OpenAPI Specs - [openapi](/api-reference/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.