> ## Documentation Index
> Fetch the complete documentation index at: https://docs.captureflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Create an API key, check who it acts for, and create your first draft post.

**1. Create an API key**

In CaptureFlow, open **Settings > API & MCP** and create a key. Choose:

* **Permissions**: *Read only*, *Read and create drafts*, or *Full access*.
* **Workspace**: all your workspaces, or one.
* **Expiry**: never, 30, 90 or 365 days.

The key (`cf_live_...`) is shown once. Store it like a password.

**2. Check who the key acts for**

```bash theme={null}
curl https://api.captureflow.ai/v1/me \
  -H "Authorization: Bearer $CAPTUREFLOW_API_KEY"
```

```json theme={null}
{
  "object": "user",
  "id": "6f1c...",
  "email": "you@example.com",
  "credential": { "type": "api_key", "id": "...", "scopes": ["ideas:read", "..."], "workspace_id": null }
}
```

**3. Pick a workspace**

If you belong to several workspaces, list them and pass `workspace_id` on each call (or lock the key to one workspace).

```bash theme={null}
curl https://api.captureflow.ai/v1/workspaces \
  -H "Authorization: Bearer $CAPTUREFLOW_API_KEY"
```

**4. Create a draft post**

Needs the *Read and create drafts* or *Full access* permissions.

```bash theme={null}
curl https://api.captureflow.ai/v1/posts?workspace_id=$WORKSPACE_ID \
  -H "Authorization: Bearer $CAPTUREFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "title": "Pricing lessons", "content": "Three things I learned pricing our first product..." }'
```

The answer includes `app_url`: open it to see the draft in CaptureFlow.

**5. Propose it for your approval (optional)**

With *Full access*, propose the draft for one of your connected accounts (`GET /v1/social-accounts`):

```bash theme={null}
curl https://api.captureflow.ai/v1/posts/$POST_ID/proposals?workspace_id=$WORKSPACE_ID \
  -H "Authorization: Bearer $CAPTUREFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "social_account_ids": ["'$ACCOUNT_ID'"], "when": "2026-11-03T09:00:00+01:00" }'
```

Nothing is scheduled yet: the post waits in CaptureFlow at `approval_url` until you accept it. See [Approvals](https://docs.captureflow.ai/guides/approvals.md).

## What next

* Connect an AI assistant instead of writing code: [MCP server](https://docs.captureflow.ai/mcp/overview.md).
* Upload a video, a voice note or a PDF: [File uploads](https://docs.captureflow.ai/guides/uploads.md).
* Let the content agent write drafts: [Content agent](https://docs.captureflow.ai/guides/content-agent.md).
* Every operation, with its request and response: the **API reference** tab.

> [!TIP]
>
> The OpenAPI description is at `https://api.captureflow.ai/v1/openapi.json`, and these docs are available to AI tools at `https://docs.captureflow.ai/llms.txt`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.