---
title: GET /v1/sandbox/list
description: "List your sandboxes — Lists sandbox sessions for chats you own, newest first, up to 50. Defaults to active sandboxes."
full: true
---

**Auth:** required. Send an `ivy_` API key (`Authorization: Bearer ivy_…` or `X-Ivy-Api-Key`), a Clerk session JWT (`Authorization: Bearer …`) or the Clerk `__session` cookie (browser sessions). See [Authentication](/docs/api/authentication).

Lists sandbox sessions for chats you own, newest first, up to 50. Defaults to active sandboxes. If your key is limited to certain projects, only sandboxes in those projects are returned.

## Request

#### Query parameters

- `status` (string) —
Session status to filter by (for example `active` or `terminated`). Defaults to `active`.

## Responses

### `200` OK

Your sandbox sessions

Response shape:

- `sessions` (object[]) —

- `mode` (string) —
Always `authenticated` for an API-key caller

### `401` Unauthorized

Authentication required

Response shape: `object`

### `429` Too Many Requests

Rate limit exceeded

Response shape: `object`

**curl**

```bash
curl -X GET 'https://ivybiosciences.com/api/v1/sandbox/list' \
  -H "Authorization: Bearer $IVY_API_KEY"
```

**JavaScript**

```js
const res = await fetch('https://ivybiosciences.com/api/v1/sandbox/list', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.IVY_API_KEY}`,
  },
});
const data = await res.json();
```

**Python**

```python
import os, requests

res = requests.get(
    "https://ivybiosciences.com/api/v1/sandbox/list",
    headers={"Authorization": f"Bearer {os.environ['IVY_API_KEY']}"},
)
data = res.json()
```
