# GET /state

> Talos next · Since 0.6

The committed state this server is serving, and what it will take on.

The body form of `x-argus-stamp`, for a client that reads JSON more easily than headers, plus the two ceilings and how much of each is in use. An agent deciding whether to open another socket or fire another capture reads this rather than discovering the answer as a `503`.

## Response

#### Response: `StateStampView`

The body of `GET /state`: which committed state, and what this server will take on.

| Field | Type | Present | Description |
|---|---|---|---|
| `stamp` | `StateStamp` | always | The committed state the published snapshot describes. |
| `contacts_stamp` | `StateStamp` | always | The committed state the published contact list was materialised at. |
| `readers` | `integer` | always | Live `WS /stream` readers attached right now. |
| `max_readers` | `integer` | always | How many this server will serve at once. A socket past it is refused with `at_capacity`. |
| `exact_jobs` | `integer` | always | Exact operations in flight right now. |
| `max_exact_jobs` | `integer` | always | How many this server will run at once. One past it is refused with `at_capacity`. |

#### Response: `StateStamp`

Which committed state a response describes.

| Field | Type | Present | Description |
|---|---|---|---|
| `artifact` | `integer` | always | The applied artifact identity. Bumped by a load, a restart, a hot reload and a scene patch. |
| `frame` | `integer` | always | The simulation tick this state was committed at. Restarts reset it; `revision` does not. |
| `revision` | `integer` | always | A monotonic counter over every committed state change, ticked or not. |
| `structure` | `integer` | always | The structural generation: bumped whenever the published identity set may differ. |

## Example

```sh
curl "http://127.0.0.1:7700/state"
```

Start a server with `argus run --serve`; the port is `--port` (7700 by default). The request and response fields are in the query API guide.
