The examples below use the sandbox host (
api-sandbox.venture.caplia.ai) and a cap_fnd_test_* key so you can rehearse safely; for your real company use the production host api.venture.caplia.ai with a cap_fnd_live_* key. The deck loop needs a write-scoped key - submitting and publishing a deck changes what investors see.The four endpoints
| Step | Endpoint | What it does |
|---|---|---|
| Submit | POST /v1/me/deck/drafts | Upload a PDF for private scoring. Returns a draft_id immediately. |
| Poll | GET /v1/me/deck/drafts/{id} | Check one draft’s status and, once scored, its CRI + recommendations. |
| List | GET /v1/me/deck/drafts | All your drafts, newest first - compare scores across iterations. |
| Publish | POST /v1/me/deck/drafts/{id}/publish | Promote the winning draft to your live deck and trigger one public re-score. |
Walk through one iteration
Submit a draft for private scoring
Upload the PDF as multipart form data. You get a
draft_id back right away - scoring runs asynchronously.Response
Poll until it's scored
Poll the draft every ~3 seconds.
status moves scoring → scored (or failed). Scoring typically takes under a minute.Response (scored)
cri_score is the private CRI on the 0-1000 scale; verified flips to true once it clears 700.Regenerate the deck and resubmit
Use the
recommendations to rewrite the deck - add the SOM math, sharpen the team slide, whatever the rubric flagged. Then submit the new PDF as another draft and poll again. Repeat until cri_score >= 700.GET /v1/me/deck/drafts lists every draft newest-first so you can see the score climb across iterations and pick the best one.A complete loop in code
This polls a draft to completion and prints the CRI and recommendations - the building block of an automated loop:loop.py
Let an agent run the whole loop
The loop is far more powerful when an AI agent closes it end to end: read the recommendations, rewrite the deck, resubmit, repeat. Connect Claude (or any MCP client) to the Caplia MCP server, give it access to your deck tool - Canva, Google Slides, a local PDF generator - and ask it to drive:“Submit my pitch deck to Caplia for private scoring. Read the recommendations, rebuild the weak slides in Canva to address them, and resubmit. Keep iterating until my CRI is at least 700, then show me the best draft before we publish.”The agent uses
caplia_submit_deck_draft and caplia_get_deck_draft to score, your design tool to regenerate, and caplia_publish_deck_draft once it clears the bar. See MCP server for setup and the full founder toolset.
What the deck can and can’t move
A pitch deck drives most of the CRI, but not all of it. Two domains need more than a deck:- Financial (model). A chunk of the Financial domain comes from an actual financial model in your data room, not slides. Upload one with
POST /v1/me/documents(orcaplia_upload_document) to unlock those points - it’s often the single highest-leverage move, as in the quickstart example. - Platform Actions. Some points reward activity inside Caplia itself (engaging with investors, keeping your profile complete). These aren’t deck-achievable - the API surfaces them in your domain breakdown so you know they exist.
Notes
- Drafts are private. Nothing about a draft is visible to investors until you publish. Score as many as you like.
- Publish is one update. Publishing triggers a single public re-score, so your public CRI moves once, cleanly.
- A draft must be scored before you can publish it. Publishing a still-
scoringdraft returns409 conflict. - 50 MB max per PDF.