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

# Quickstart

> Get started with Cloud Coding API in minutes

## Setup

Get started with the Cloud Coding API in just a few simple steps.

<AccordionGroup>
  <Accordion icon="key" title="Get your API keys">
    You'll need two API keys to use Cloud Coding:

    1. **Cloud Coding API Key**: Get this from [cloudcoding.ai/home](https://cloudcoding.ai/home)
    2. **GitHub Token**: Create a personal access token with repo access at [github.com/settings/tokens](https://github.com/settings/tokens)
  </Accordion>
</AccordionGroup>

## API Reference

The Cloud Coding API provides a powerful, production-ready streaming endpoint for all your coding tasks.

<Note>
  The `/invoke/stdout` endpoint is recommended for production use. It provides a real-time, unfiltered stream of events from the agent, including `stdout` from executed tools.
</Note>

### Endpoint

```
POST https://api.cloudcoding.ai/invoke/stdout
```

### Headers

```
Content-Type: application/json
x-api-key: YOUR_CLOUDCODING_API_KEY
```

### Request Body

| Field            | Type    | Required | Description                                                  |
| ---------------- | ------- | -------- | ------------------------------------------------------------ |
| `repo_url`       | string  | ✅        | The URL of the GitHub repository for the agent to work with. |
| `github_token`   | string  | ✅        | A GitHub personal access token with repository access.       |
| `messages`       | array   | ▶️       | An array of messages for a single task invocation.           |
| `parallel_tasks` | array   | ▶️       | An array of task objects to execute in parallel.             |
| `branch`         | string  | ❌        | The Git branch to work with. Defaults to `main`.             |
| `haiku`          | boolean | ❌        | Whether to use the Haiku model. Defaults to `false`.         |
| `thread_id`      | string  | ❌        | An existing thread ID to continue a conversation.            |

**Note:** You must provide either `messages` or `parallel_tasks`.

### Response Stream

The API returns a stream of Server-Sent Events (SSE). Each event has an `event` type (`updates` or `custom`) and a `data` payload.

**Example `updates` event:**

```json theme={null}
{
  "event": "updates",
  "data": { "run_id": "...", "messages": [...], "stream_events": [] }
}
```

**Example `custom` event (tool stdout):**

```json theme={null}
{
  "event": "custom",
  "data": { "task_name": "...", "stdout": "..." }
}
```

## Quick Examples

### Single Task Invocation

Invoke the agent to perform a single task.

```bash theme={null}
curl -X POST "https://api.cloudcoding.ai/invoke/stdout" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  --no-buffer \
  -d '{
    "repo_url": "https://github.com/username/repo-name",
    "github_token": "YOUR_GITHUB_TOKEN",
    "messages": [
      {
        "type": "human",
        "content": "analyze the repo to see what it is about"
      }
    ]
  }'
```

### Parallel Task Invocation

Run multiple tasks concurrently. The stream will contain interleaved events from each task, identified by `task_name`.

```bash theme={null}
curl -X POST "https://api.cloudcoding.ai/invoke/stdout" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  --no-buffer \
  -d '{
    "repo_url": "https://github.com/username/my-app",
    "github_token": "YOUR_GITHUB_TOKEN",
    "parallel_tasks": [
      {
        "prompt": "Add comprehensive error handling",
        "task_name": "error-handling"
      },
      {
        "prompt": "Create unit tests for all components",
        "task_name": "testing"
      }
    ]
  }'
```

## Next Steps

<CardGroup>
  <Card title="Parallel Execution" icon="rocket" href="/parallel-execution">
    Run multiple tasks concurrently for faster development
  </Card>

  <Card title="Dashboard" icon="chart-line" href="https://cloudcoding.ai/home">
    Manage your API keys and monitor usage
  </Card>

  <Card title="Pricing" icon="credit-card" href="/pricing">
    Understand our transparent pricing model
  </Card>
</CardGroup>
