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

# Get Session

> Retrieve info about an existing browser

## Description

Returns the current state and metadata of a browser.

## Authentication

Open-source deployments do not require authentication by default. If your server config enables `X-API-Key`, include that header with the request.

## Path Parameters

<ParamField path="id" type="string" required>
  The browser ID returned from Create Session.
</ParamField>

## Response

<ResponseField name="browser_id" type="string">
  Internal browser UUID.
</ResponseField>

<ResponseField name="execution_id" type="string">
  The browser ID used in command endpoints.
</ResponseField>

<ResponseField name="contexts" type="array">
  List of open contexts on this browser.
</ResponseField>

<ResponseField name="state" type="string">
  Current state of the browser, such as `idle` or `busy`.
</ResponseField>

<ResponseField name="grpc_port" type="integer">
  Internal gRPC port.
</ResponseField>

<ResponseField name="private_ip" type="string">
  Internal IP address.
</ResponseField>

<ResponseField name="public_ip" type="string">
  Public IP address of the browser node.
</ResponseField>

## Example

```bash theme={null}
curl http://localhost:8080/browsers/exc-b9534e98-c3ce-4d1b-9671-b563ac66adc3/
```

<ResponseExample>
  ```json 200 theme={null}
  {
    "browser_id": "0beda061-c829-4723-b6da-84b86c35ed7e",
    "contexts": [],
    "execution_id": "exc-b9534e98-c3ce-4d1b-9671-b563ac66adc3",
    "grpc_port": 39525,
    "private_ip": "10.202.0.14",
    "public_ip": "34.162.232.126",
    "state": "idle"
  }
  ```
</ResponseExample>
