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

# GET /v1/capsules — List all capsules

> GET /v1/capsules — List all capsules for your team. Returns an array of capsule objects including ID, status, template, and resource configuration.

Use this endpoint to retrieve all capsules that belong to your team, across every status. The response is an array ordered by creation time (newest first). Use it to audit running resources, build dashboards, or locate a capsule by status before acting on it.

## Endpoint

```http theme={null}
GET https://app.wrenn.dev/api/v1/capsules
```

## Authentication

Pass your API key in the `X-API-Key` header.

```http theme={null}
X-API-Key: wrn_your_key
```

## Request parameters

This endpoint takes no query parameters or request body.

## Response

Returns `200 OK` with an array of capsule objects. An empty team returns `[]`.

Each object in the array has the following fields:

<ResponseField name="id" type="string" required>
  Unique capsule ID, prefixed with `cl-`.
</ResponseField>

<ResponseField name="status" type="string" required>
  Current lifecycle status. One of: `pending`, `starting`, `running`, `paused`, `stopped`, `error`.
</ResponseField>

<ResponseField name="template" type="string" required>
  Name of the template used to create the capsule.
</ResponseField>

<ResponseField name="vcpus" type="integer" required>
  Number of virtual CPUs allocated.
</ResponseField>

<ResponseField name="memory_mb" type="integer" required>
  Memory allocated, in MiB.
</ResponseField>

<ResponseField name="timeout_sec" type="integer" required>
  Inactivity TTL in seconds. `0` means auto-pause is disabled.
</ResponseField>

<ResponseField name="created_at" type="string" required>
  ISO 8601 timestamp of when the capsule was created.
</ResponseField>

<ResponseField name="last_updated" type="string" required>
  ISO 8601 timestamp of the most recent status change.
</ResponseField>

<ResponseField name="started_at" type="string">
  ISO 8601 timestamp of when the capsule last reached `running` status. `null` if the capsule has never booted.
</ResponseField>

<ResponseField name="last_active_at" type="string">
  ISO 8601 timestamp of the last exec call or ping.
</ResponseField>

### Example response

```json theme={null}
[
  {
    "id": "cl-abc123",
    "status": "running",
    "template": "base-python",
    "vcpus": 2,
    "memory_mb": 1024,
    "timeout_sec": 300,
    "created_at": "2024-11-01T10:00:00Z",
    "started_at": "2024-11-01T10:00:05Z",
    "last_active_at": "2024-11-01T10:04:30Z",
    "last_updated": "2024-11-01T10:00:05Z"
  },
  {
    "id": "cl-def456",
    "status": "paused",
    "template": "minimal",
    "vcpus": 1,
    "memory_mb": 512,
    "timeout_sec": 0,
    "created_at": "2024-10-30T08:15:00Z",
    "started_at": "2024-10-30T08:15:04Z",
    "last_active_at": "2024-10-30T09:00:00Z",
    "last_updated": "2024-10-30T09:05:00Z"
  }
]
```

## curl

```bash theme={null}
curl --request GET \
  --url https://app.wrenn.dev/api/v1/capsules \
  --header 'X-API-Key: wrn_your_key'
```

## Python SDK

```python theme={null}
from wrenn import Capsule

capsules = Capsule.list()
for c in capsules:
    print(c.id, c.status)
```

## Error responses

| Status             | Description                     |
| ------------------ | ------------------------------- |
| `401 Unauthorized` | Missing or invalid `X-API-Key`. |
