---
title: "GET /v1/sandbox/{chatId}/status"
description: "Get sandbox status — Returns the current state of your chat's sandbox. status is none when the chat has no sandbox."
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).

Returns the current state of your chat's sandbox. `status` is `none` when the chat has no sandbox. While `provisioning`, `phase` and `etaSeconds` describe launch progress; poll about once per second or two.

## Request

#### Path parameters

- `chatId` (string) —
ID of the chat that owns the sandbox

## Responses

### `200` OK

Current sandbox state

Response shape:

- `status` (enum (&quot;none&quot; | &quot;provisioning&quot; | &quot;active&quot; | &quot;failed&quot;)) —
`none` when the chat has no sandbox, `provisioning` while starting, `active` when usable, `failed` otherwise

- `phase` (enum (&quot;compute&quot; | &quot;mount&quot; | &quot;ready&quot; | &quot;failed&quot;)) —
Launch phase of the sandbox

- `etaSeconds` (integer) —
Estimated seconds until ready, when known

- `errorMessage` (string) —
Failure reason; present only when `status` is `failed`

- `createdAt` (string (date-time)) —

### `401` Unauthorized

Authentication required

Response shape: `object`

### `403` Forbidden

You do not own this chat, or your key's project scope excludes it

Response shape: `object`

### `429` Too Many Requests

Rate limit exceeded

Response shape: `object`

**curl**

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

**JavaScript**

```js
const res = await fetch('https://ivybiosciences.com/api/v1/sandbox/{chatId}/status', {
  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/{chatId}/status",
    headers={"Authorization": f"Bearer {os.environ['IVY_API_KEY']}"},
)
data = res.json()
```
