# getCellState **Endpoint:** `POST https://firesim.cs.gsu.edu/api/getCellState` Returns the current state of a given cell (e.g. "Burning", "Burned", "Unburned"). ## Parameters | Name | Type | Required | Default | Description | |------|------|----------|---------|-------------| | `userToken` | string | yes | — | Your simulation token. | | `x` | integer | yes | — | Row to query. | | `y` | integer | yes | — | Column to query. | ## Responses ### HTTP 200 State of the cell. Observed: after_sim. Returns 500 before runSimulation; 200 after simulation with values like `unburned`, `Burning`, or `Burned`. Observed: after_sim. Returns 500 before runSimulation; 200 after simulation with values like `unburned`, `Burning`, or `Burned`. **Example:** ```json "unburned" ``` ### HTTP 500 Internal server error (Spring JSON). Returned when `userToken` is missing or invalid — the server cannot locate the simulation instance for that token. **Example:** ```json { "timestamp": "2026-05-20T16:41:14.306+00:00", "status": 500, "error": "Internal Server Error", "path": "/api/getCellState" } ``` ## Examples ### Python ```python import requests base_url: str = "https://firesim.cs.gsu.edu/api/getCellState/" params: dict[str, int | str] = { "userToken": "abc123xyz", "x": 80, "y": 80, } response = requests.post(base_url, params=params) print(response.text) ``` ### JavaScript ```javascript /** @type {string} */ const BASE_URL = "https://firesim.cs.gsu.edu/api/getCellState/"; const params = { userToken: "abc123xyz", x: 80, y: 80, }; const url = new URL(BASE_URL); Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v)); fetch(url.toString(), { method: "POST" }) .then(res => res.text()) .then(console.log); ``` ### cURL ```bash BASE_URL="https://firesim.cs.gsu.edu/api/getCellState/" curl -s -X POST \ -G --data-urlencode "userToken=abc123xyz" \ -G --data-urlencode "x=80" \ -G --data-urlencode "y=80" \ "$BASE_URL" ``` ### Java ```java import java.net.URI; import java.net.http.*; String BASE_URL = "https://firesim.cs.gsu.edu/api/getCellState/"; String queryString = "userToken=abc123xyz" + "&" + "x=80" + "&" + "y=80"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(BASE_URL + "?" + queryString)) .POST(HttpRequest.BodyPublishers.noBody()) .build(); HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); ``` ### Go ```go import ( "fmt" "io" "net/http" "net/url" ) baseURL := "https://firesim.cs.gsu.edu/api/getCellState/" params := url.Values{} params.Set("userToken", "abc123xyz") params.Set("x", "80") params.Set("y", "80") resp, _ := http.PostForm(baseURL, params) defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) ``` ### Rust ```rust use reqwest::blocking::Client; let base_url = "https://firesim.cs.gsu.edu/api/getCellState/"; let params = vec![ ("userToken", "abc123xyz"), ("x", "80"), ("y", "80"), ]; let client = Client::new(); let response = client.post(base_url).query(¶ms).send().unwrap(); println!("{}", response.text().unwrap()); ```