curl --request GET \
--url https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id} \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"simulation_id": "sim_qa_run_001",
"rail": "ach",
"operation": "inbound_posted",
"scenario": "success_immediate",
"state": "settled",
"organization_id": "org_01HXYZ",
"account_id": "acc_123",
"amount": "100.00",
"currency": "USD",
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:30:05Z",
"callbacks": [
{
"callback_id": "cb_001",
"state": "delivered",
"attempts": 1,
"max_attempts": 3,
"scheduled_for": "2024-01-15T10:30:01Z",
"delivered_at": "2024-01-15T10:30:02Z"
}
]
}{
"type": "https://docs.dakota.xyz/api-reference/errors#forbidden",
"title": "Not available in production",
"status": 403,
"detail": "Not available in production",
"instance": "https://api.platform.dakota.xyz/sandbox/simulations/example-id",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#not-found",
"title": "Simulation not found",
"status": 404,
"detail": "Simulation not found",
"instance": "https://api.platform.dakota.xyz/sandbox/simulations/example-id",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#provider-error",
"title": "Provider gRPC error",
"status": 502,
"detail": "Provider gRPC error",
"instance": "https://api.platform.dakota.xyz/sandbox/simulations/example-id",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}Get simulation status
Returns the current state and callback delivery history for a sandbox simulation. Use this to debug async flows — see whether callbacks have been scheduled, delivered, or failed. Available in sandbox mode only.
curl --request GET \
--url https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id} \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/sandbox/simulations/{simulation_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"simulation_id": "sim_qa_run_001",
"rail": "ach",
"operation": "inbound_posted",
"scenario": "success_immediate",
"state": "settled",
"organization_id": "org_01HXYZ",
"account_id": "acc_123",
"amount": "100.00",
"currency": "USD",
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:30:05Z",
"callbacks": [
{
"callback_id": "cb_001",
"state": "delivered",
"attempts": 1,
"max_attempts": 3,
"scheduled_for": "2024-01-15T10:30:01Z",
"delivered_at": "2024-01-15T10:30:02Z"
}
]
}{
"type": "https://docs.dakota.xyz/api-reference/errors#forbidden",
"title": "Not available in production",
"status": 403,
"detail": "Not available in production",
"instance": "https://api.platform.dakota.xyz/sandbox/simulations/example-id",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#not-found",
"title": "Simulation not found",
"status": 404,
"detail": "Simulation not found",
"instance": "https://api.platform.dakota.xyz/sandbox/simulations/example-id",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#provider-error",
"title": "Provider gRPC error",
"status": 502,
"detail": "Provider gRPC error",
"instance": "https://api.platform.dakota.xyz/sandbox/simulations/example-id",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}Authorizations
Path Parameters
The simulation_id returned by POST /sandbox/simulate/inbound
Response
Simulation found
Full simulation state including callback history.
Simulation identifier
Payment rail (ach, wire, crypto)
Operation type (inbound_posted, outbound_failed, etc.)
Scenario name (success_immediate, success_delayed, compliance_hold, etc.)
Current simulation state (accepted, settled, returned, rejected, failed)
Organization that owns this simulation
Amount as decimal string (e.g. "100.50")
ISO 4217 currency code
When the simulation was created
Sub-state for multi-step scenarios (e.g. post_hold)
Whether the simulation is paused waiting for a POST /advance call
Platform account ID (for fiat simulations)
Platform wallet ID (for crypto simulations)
Caller-supplied trace ID
Caller-supplied metadata (informational only)
Show child attributes
Show child attributes
When the simulation reached a terminal state (omitted if still in progress)
Callback delivery log ordered by scheduled_for ascending
Show child attributes
Show child attributes
Valid advance actions when awaiting_advance is true (e.g. ["release", "reject"])
Was this page helpful?

