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

# Pipeline & Statuses

> Managing your deal flow pipeline with custom statuses

# Pipeline Management

Roulette uses customizable statuses to organize companies through your investment pipeline. Each team can define their own stages to match their unique deal flow process.

## Company Statuses

Statuses represent the stages in your investment pipeline. Common examples include:

<Steps>
  <Step title="Initial Review">
    First look at inbound opportunities
  </Step>

  <Step title="Deep Dive">
    Detailed analysis of promising companies
  </Step>

  <Step title="Partner Meeting">
    Presented to the partnership
  </Step>

  <Step title="Due Diligence">
    Active due diligence process
  </Step>

  <Step title="Term Sheet">
    Negotiating investment terms
  </Step>

  <Step title="Closed">
    Investment completed
  </Step>

  <Step title="Passed">
    Decided not to invest
  </Step>
</Steps>

## Status Properties

Each status has the following properties:

| Property      | Type    | Description                      |
| ------------- | ------- | -------------------------------- |
| `id`          | UUID    | Unique identifier                |
| `status_text` | string  | Display name                     |
| `color`       | string  | Hex color code (e.g., `#3B82F6`) |
| `rank`        | integer | Order in the pipeline            |

<Note>
  Statuses are managed through the Roulette web application. The API provides read access to statuses via the company `company_status` embedded object.
</Note>

## Pipeline Visualization

The Kanban view in Roulette displays companies organized by status:

```
┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│  Initial    │  │  Deep Dive  │  │  Partner    │  │   Closed    │
│  Review     │  │             │  │  Meeting    │  │             │
├─────────────┤  ├─────────────┤  ├─────────────┤  ├─────────────┤
│ Company A   │  │ Company C   │  │ Company E   │  │ Company G   │
│ Company B   │  │ Company D   │  │ Company F   │  │             │
│             │  │             │  │             │  │             │
└─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘
```

## Moving Companies Between Statuses

Update a company's status by setting its `company_status_id`:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PATCH "https://www.useroulette.com/api/v1/companies/{company_id}" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "company_status_id": "new-status-uuid"
    }'
  ```

  ```javascript JavaScript theme={null}
  await fetch(`https://www.useroulette.com/api/v1/companies/${companyId}`, {
    method: 'PATCH',
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      company_status_id: 'new-status-uuid'
    })
  });
  ```
</CodeGroup>

## Filtering by Status

You can filter companies by their pipeline status:

```bash theme={null}
curl -X GET "https://www.useroulette.com/api/v1/companies?company_status_id=status-uuid" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Use `company_status_id=no_status` to find companies that haven't been assigned to any pipeline stage yet.

<Note>
  Lower rank values appear earlier in the pipeline. The dashboard provides a pipeline summary with counts per status.
</Note>

## Related Resources

<CardGroup cols={2}>
  <Card title="Companies API" icon="building" href="/api-reference/companies/list">
    List and filter companies
  </Card>

  <Card title="Dashboard API" icon="gauge" href="/api-reference/dashboard/get">
    Get pipeline analytics
  </Card>
</CardGroup>
