# Get Simulation Status
GET https://api.shipbob.com/2026-01/simulate/status/{simulationId}
Get the status of a simulation in the ShipBob sandbox environment. Learn more about [sandbox simulations](/sandbox/simulations).
This endpoint is **only available** on sandbox.
Reference: https://developer.shipbob.com/api/simulations/get-simulation-status
## OpenAPI Specification
```yaml
openapi: 3.1.1
info:
title: Get Simulation Status
version: endpoint_simulations.getSimulationStatus
paths:
/2026-01/simulate/status/{simulationId}:
get:
operationId: get-simulation-status
summary: Get Simulation Status
description: >-
Get the status of a simulation in the ShipBob sandbox environment. Learn
more about [sandbox simulations](/sandbox/simulations).
This endpoint is **only available** on sandbox.
tags:
- - subpackage_simulations
parameters:
- name: simulationId
in: path
description: The simulation id
required: true
schema:
type: string
format: uuid
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: The simulation status
content:
application/json:
schema:
$ref: '#/components/schemas/Simulation.simulationStatusResponseModel'
components:
schemas:
SimulationActionStatusResponseModelAction:
type: string
enum:
- value: ShipOrder
- value: DeliverOrder
Simulation.actionStatusResponseModel:
type: object
properties:
action:
oneOf:
- $ref: '#/components/schemas/SimulationActionStatusResponseModelAction'
- type: 'null'
description: >-
The name of the action performed in the simulation (for example:
ShipOrder, DeliverOrder).
message:
type:
- string
- 'null'
description: >-
Additional details about the action status, such as progress
information or an error message.
next:
$ref: '#/components/schemas/Simulation.actionStatusResponseModel'
description: >-
The status for the next action in the sequence, if actions are
chained.
schedule_time:
type:
- string
- 'null'
format: date-time
description: >-
The scheduled time for the action to run, in ISO 8601 date-time
format (UTC).
status:
type:
- string
- 'null'
description: The current execution state of the action.
Simulation.simulationStatusResponseModel:
type: object
properties:
entity_id:
type:
- string
- 'null'
description: >-
The identifier of the entity the simulation is associated with (for
example: shipment id).
entity_type:
type:
- string
- 'null'
description: >-
The type of entity the simulation is associated with (for example:
Order).
simulation:
$ref: '#/components/schemas/Simulation.actionStatusResponseModel'
description: >-
The current status of the simulation action(s), including any
chained next actions.
simulation_id:
type:
- string
- 'null'
format: uuid
description: The unique identifier of the simulation run.
```
## SDK Code Examples
```python Simulations_getSimulationStatus_example
import requests
url = "https://api.shipbob.com/2026-01/simulate/status/simulationId"
headers = {"Authorization": "Bearer "}
response = requests.get(url, headers=headers)
print(response.json())
```
```javascript Simulations_getSimulationStatus_example
const url = 'https://api.shipbob.com/2026-01/simulate/status/simulationId';
const options = {method: 'GET', headers: {Authorization: 'Bearer '}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go Simulations_getSimulationStatus_example
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shipbob.com/2026-01/simulate/status/simulationId"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer ")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby Simulations_getSimulationStatus_example
require 'uri'
require 'net/http'
url = URI("https://api.shipbob.com/2026-01/simulate/status/simulationId")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer '
response = http.request(request)
puts response.read_body
```
```java Simulations_getSimulationStatus_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.get("https://api.shipbob.com/2026-01/simulate/status/simulationId")
.header("Authorization", "Bearer ")
.asString();
```
```php Simulations_getSimulationStatus_example
request('GET', 'https://api.shipbob.com/2026-01/simulate/status/simulationId', [
'headers' => [
'Authorization' => 'Bearer ',
],
]);
echo $response->getBody();
```
```csharp Simulations_getSimulationStatus_example
using RestSharp;
var client = new RestClient("https://api.shipbob.com/2026-01/simulate/status/simulationId");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer ");
IRestResponse response = client.Execute(request);
```
```swift Simulations_getSimulationStatus_example
import Foundation
let headers = ["Authorization": "Bearer "]
let request = NSMutableURLRequest(url: NSURL(string: "https://api.shipbob.com/2026-01/simulate/status/simulationId")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```