---
title: "Get the serving state of a Streamlit app"
method: GET
path: "/streamlit-apps/{streamlitAppId}/status"
tags: ["Streamlit apps"]
---

# Get the serving state of a Streamlit app

`GET /streamlit-apps/{streamlitAppId}/status`

Reports whether the app is currently answering requests. After an app is created, the status may briefly report `unavailable` while the project machine stops, then `starting` while the machine and Streamlit boot. Poll this endpoint rather than the app URL itself, and apply a client-side timeout because `starting` does not distinguish slow startup from an app that failed to boot.

## Path parameters

- `streamlitAppId` string, uuid, required — Streamlit app identifier.

## Response `200`

Current serving state of the Streamlit app

- GetStreamlitAppStatusResponse
  - `status` 'running' | 'starting' | 'unavailable', required — Serving status of the app. `running`: the app answered its health check. `starting`: the project machine is starting or running but the app has not answered yet. `unavailable`: the project machine is not running or its executor cannot be reached, so the app is not being served.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `403` — Insufficient permissions
- `404` — Streamlit app not found
- `409` — Project is suspended
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.dev/deepnote/apis/deepnote-public-api.md) · [All operations](https://skmtc.dev/deepnote/apis/deepnote-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/deepnote/deepnote-public-api/revisions/20c4153a90e7/schema)
