Queue a Point-in-Time Quantile Forecast Backtest for an Authorized Workspace
Queues a durable worker. Each historical window produces final ensemble quantiles from prior real bars only. Entry blocks use requested forecast quantiles; quantile/percentage targets and trailing stops use completed observed closes, with fills at the next observed bar. No live orders. Requires forecast.create and monthly allowance; event-market display quotes are not executable bids or asks.
curl --request POST \
--url https://quantura.studio/api/v1/backtests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source": {
"type": "ticker",
"symbol": "SPY",
"provider": "auto",
"frequency": "1Day"
},
"forecast": {
"prediction_length": 30,
"quantiles": [
0.01,
0.1,
0.25,
0.5,
0.75,
0.9,
0.99
],
"models": {
"prophet": {
"enabled": true,
"weight": 1
}
},
"failure_policy": "fail"
},
"replay": {
"context_rows": 128,
"evaluation_windows": 2
},
"strategy": {
"schema_version": 2,
"type": "quantile_rules",
"entry_logic": "all",
"rules": [
{
"id": "entry_p10",
"kind": "entry",
"condition": "crosses_above",
"quantile": 0.1
},
{
"id": "take_p50",
"kind": "take_profit",
"target_mode": "quantile",
"quantile": 0.5
},
{
"id": "stop_p01",
"kind": "stop_loss",
"target_mode": "quantile",
"quantile": 0.01
}
]
},
"execution": {
"starting_capital": 1000,
"position_fraction": 1,
"commission_bps": 10,
"slippage_bps": 5
}
}
'import requests
url = "https://quantura.studio/api/v1/backtests"
payload = {
"source": {
"type": "ticker",
"symbol": "SPY",
"provider": "auto",
"frequency": "1Day"
},
"forecast": {
"prediction_length": 30,
"quantiles": [0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99],
"models": { "prophet": {
"enabled": True,
"weight": 1
} },
"failure_policy": "fail"
},
"replay": {
"context_rows": 128,
"evaluation_windows": 2
},
"strategy": {
"schema_version": 2,
"type": "quantile_rules",
"entry_logic": "all",
"rules": [
{
"id": "entry_p10",
"kind": "entry",
"condition": "crosses_above",
"quantile": 0.1
},
{
"id": "take_p50",
"kind": "take_profit",
"target_mode": "quantile",
"quantile": 0.5
},
{
"id": "stop_p01",
"kind": "stop_loss",
"target_mode": "quantile",
"quantile": 0.01
}
]
},
"execution": {
"starting_capital": 1000,
"position_fraction": 1,
"commission_bps": 10,
"slippage_bps": 5
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
source: {type: 'ticker', symbol: 'SPY', provider: 'auto', frequency: '1Day'},
forecast: {
prediction_length: 30,
quantiles: [0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99],
models: {prophet: {enabled: true, weight: 1}},
failure_policy: 'fail'
},
replay: {context_rows: 128, evaluation_windows: 2},
strategy: {
schema_version: 2,
type: 'quantile_rules',
entry_logic: 'all',
rules: [
{id: 'entry_p10', kind: 'entry', condition: 'crosses_above', quantile: 0.1},
{id: 'take_p50', kind: 'take_profit', target_mode: 'quantile', quantile: 0.5},
{id: 'stop_p01', kind: 'stop_loss', target_mode: 'quantile', quantile: 0.01}
]
},
execution: {
starting_capital: 1000,
position_fraction: 1,
commission_bps: 10,
slippage_bps: 5
}
})
};
fetch('https://quantura.studio/api/v1/backtests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://quantura.studio/api/v1/backtests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'source' => [
'type' => 'ticker',
'symbol' => 'SPY',
'provider' => 'auto',
'frequency' => '1Day'
],
'forecast' => [
'prediction_length' => 30,
'quantiles' => [
0.01,
0.1,
0.25,
0.5,
0.75,
0.9,
0.99
],
'models' => [
'prophet' => [
'enabled' => true,
'weight' => 1
]
],
'failure_policy' => 'fail'
],
'replay' => [
'context_rows' => 128,
'evaluation_windows' => 2
],
'strategy' => [
'schema_version' => 2,
'type' => 'quantile_rules',
'entry_logic' => 'all',
'rules' => [
[
'id' => 'entry_p10',
'kind' => 'entry',
'condition' => 'crosses_above',
'quantile' => 0.1
],
[
'id' => 'take_p50',
'kind' => 'take_profit',
'target_mode' => 'quantile',
'quantile' => 0.5
],
[
'id' => 'stop_p01',
'kind' => 'stop_loss',
'target_mode' => 'quantile',
'quantile' => 0.01
]
]
],
'execution' => [
'starting_capital' => 1000,
'position_fraction' => 1,
'commission_bps' => 10,
'slippage_bps' => 5
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://quantura.studio/api/v1/backtests"
payload := strings.NewReader("{\n \"source\": {\n \"type\": \"ticker\",\n \"symbol\": \"SPY\",\n \"provider\": \"auto\",\n \"frequency\": \"1Day\"\n },\n \"forecast\": {\n \"prediction_length\": 30,\n \"quantiles\": [\n 0.01,\n 0.1,\n 0.25,\n 0.5,\n 0.75,\n 0.9,\n 0.99\n ],\n \"models\": {\n \"prophet\": {\n \"enabled\": true,\n \"weight\": 1\n }\n },\n \"failure_policy\": \"fail\"\n },\n \"replay\": {\n \"context_rows\": 128,\n \"evaluation_windows\": 2\n },\n \"strategy\": {\n \"schema_version\": 2,\n \"type\": \"quantile_rules\",\n \"entry_logic\": \"all\",\n \"rules\": [\n {\n \"id\": \"entry_p10\",\n \"kind\": \"entry\",\n \"condition\": \"crosses_above\",\n \"quantile\": 0.1\n },\n {\n \"id\": \"take_p50\",\n \"kind\": \"take_profit\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.5\n },\n {\n \"id\": \"stop_p01\",\n \"kind\": \"stop_loss\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.01\n }\n ]\n },\n \"execution\": {\n \"starting_capital\": 1000,\n \"position_fraction\": 1,\n \"commission_bps\": 10,\n \"slippage_bps\": 5\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://quantura.studio/api/v1/backtests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"source\": {\n \"type\": \"ticker\",\n \"symbol\": \"SPY\",\n \"provider\": \"auto\",\n \"frequency\": \"1Day\"\n },\n \"forecast\": {\n \"prediction_length\": 30,\n \"quantiles\": [\n 0.01,\n 0.1,\n 0.25,\n 0.5,\n 0.75,\n 0.9,\n 0.99\n ],\n \"models\": {\n \"prophet\": {\n \"enabled\": true,\n \"weight\": 1\n }\n },\n \"failure_policy\": \"fail\"\n },\n \"replay\": {\n \"context_rows\": 128,\n \"evaluation_windows\": 2\n },\n \"strategy\": {\n \"schema_version\": 2,\n \"type\": \"quantile_rules\",\n \"entry_logic\": \"all\",\n \"rules\": [\n {\n \"id\": \"entry_p10\",\n \"kind\": \"entry\",\n \"condition\": \"crosses_above\",\n \"quantile\": 0.1\n },\n {\n \"id\": \"take_p50\",\n \"kind\": \"take_profit\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.5\n },\n {\n \"id\": \"stop_p01\",\n \"kind\": \"stop_loss\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.01\n }\n ]\n },\n \"execution\": {\n \"starting_capital\": 1000,\n \"position_fraction\": 1,\n \"commission_bps\": 10,\n \"slippage_bps\": 5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://quantura.studio/api/v1/backtests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": {\n \"type\": \"ticker\",\n \"symbol\": \"SPY\",\n \"provider\": \"auto\",\n \"frequency\": \"1Day\"\n },\n \"forecast\": {\n \"prediction_length\": 30,\n \"quantiles\": [\n 0.01,\n 0.1,\n 0.25,\n 0.5,\n 0.75,\n 0.9,\n 0.99\n ],\n \"models\": {\n \"prophet\": {\n \"enabled\": true,\n \"weight\": 1\n }\n },\n \"failure_policy\": \"fail\"\n },\n \"replay\": {\n \"context_rows\": 128,\n \"evaluation_windows\": 2\n },\n \"strategy\": {\n \"schema_version\": 2,\n \"type\": \"quantile_rules\",\n \"entry_logic\": \"all\",\n \"rules\": [\n {\n \"id\": \"entry_p10\",\n \"kind\": \"entry\",\n \"condition\": \"crosses_above\",\n \"quantile\": 0.1\n },\n {\n \"id\": \"take_p50\",\n \"kind\": \"take_profit\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.5\n },\n {\n \"id\": \"stop_p01\",\n \"kind\": \"stop_loss\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.01\n }\n ]\n },\n \"execution\": {\n \"starting_capital\": 1000,\n \"position_fraction\": 1,\n \"commission_bps\": 10,\n \"slippage_bps\": 5\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"backtest_id": "bt_0123456789abcdef0123456789abcdef",
"status": "queued",
"created_at": "2026-09-23T20:00:00.000Z",
"status_url": "/api/v1/backtests/bt_0123456789abcdef0123456789abcdef",
"result_url": "/api/v1/backtests/bt_0123456789abcdef0123456789abcdef"
},
"meta": {
"api_version": "v1"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Research-only long strategy; exits are OR-combined. Stops take precedence over trailing stops, then take-profit when several signal on the same completed bar.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Durable quantile backtest queued; poll status_url for progress and the completed result.
The response is of type object.
curl --request POST \
--url https://quantura.studio/api/v1/backtests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source": {
"type": "ticker",
"symbol": "SPY",
"provider": "auto",
"frequency": "1Day"
},
"forecast": {
"prediction_length": 30,
"quantiles": [
0.01,
0.1,
0.25,
0.5,
0.75,
0.9,
0.99
],
"models": {
"prophet": {
"enabled": true,
"weight": 1
}
},
"failure_policy": "fail"
},
"replay": {
"context_rows": 128,
"evaluation_windows": 2
},
"strategy": {
"schema_version": 2,
"type": "quantile_rules",
"entry_logic": "all",
"rules": [
{
"id": "entry_p10",
"kind": "entry",
"condition": "crosses_above",
"quantile": 0.1
},
{
"id": "take_p50",
"kind": "take_profit",
"target_mode": "quantile",
"quantile": 0.5
},
{
"id": "stop_p01",
"kind": "stop_loss",
"target_mode": "quantile",
"quantile": 0.01
}
]
},
"execution": {
"starting_capital": 1000,
"position_fraction": 1,
"commission_bps": 10,
"slippage_bps": 5
}
}
'import requests
url = "https://quantura.studio/api/v1/backtests"
payload = {
"source": {
"type": "ticker",
"symbol": "SPY",
"provider": "auto",
"frequency": "1Day"
},
"forecast": {
"prediction_length": 30,
"quantiles": [0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99],
"models": { "prophet": {
"enabled": True,
"weight": 1
} },
"failure_policy": "fail"
},
"replay": {
"context_rows": 128,
"evaluation_windows": 2
},
"strategy": {
"schema_version": 2,
"type": "quantile_rules",
"entry_logic": "all",
"rules": [
{
"id": "entry_p10",
"kind": "entry",
"condition": "crosses_above",
"quantile": 0.1
},
{
"id": "take_p50",
"kind": "take_profit",
"target_mode": "quantile",
"quantile": 0.5
},
{
"id": "stop_p01",
"kind": "stop_loss",
"target_mode": "quantile",
"quantile": 0.01
}
]
},
"execution": {
"starting_capital": 1000,
"position_fraction": 1,
"commission_bps": 10,
"slippage_bps": 5
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
source: {type: 'ticker', symbol: 'SPY', provider: 'auto', frequency: '1Day'},
forecast: {
prediction_length: 30,
quantiles: [0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99],
models: {prophet: {enabled: true, weight: 1}},
failure_policy: 'fail'
},
replay: {context_rows: 128, evaluation_windows: 2},
strategy: {
schema_version: 2,
type: 'quantile_rules',
entry_logic: 'all',
rules: [
{id: 'entry_p10', kind: 'entry', condition: 'crosses_above', quantile: 0.1},
{id: 'take_p50', kind: 'take_profit', target_mode: 'quantile', quantile: 0.5},
{id: 'stop_p01', kind: 'stop_loss', target_mode: 'quantile', quantile: 0.01}
]
},
execution: {
starting_capital: 1000,
position_fraction: 1,
commission_bps: 10,
slippage_bps: 5
}
})
};
fetch('https://quantura.studio/api/v1/backtests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://quantura.studio/api/v1/backtests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'source' => [
'type' => 'ticker',
'symbol' => 'SPY',
'provider' => 'auto',
'frequency' => '1Day'
],
'forecast' => [
'prediction_length' => 30,
'quantiles' => [
0.01,
0.1,
0.25,
0.5,
0.75,
0.9,
0.99
],
'models' => [
'prophet' => [
'enabled' => true,
'weight' => 1
]
],
'failure_policy' => 'fail'
],
'replay' => [
'context_rows' => 128,
'evaluation_windows' => 2
],
'strategy' => [
'schema_version' => 2,
'type' => 'quantile_rules',
'entry_logic' => 'all',
'rules' => [
[
'id' => 'entry_p10',
'kind' => 'entry',
'condition' => 'crosses_above',
'quantile' => 0.1
],
[
'id' => 'take_p50',
'kind' => 'take_profit',
'target_mode' => 'quantile',
'quantile' => 0.5
],
[
'id' => 'stop_p01',
'kind' => 'stop_loss',
'target_mode' => 'quantile',
'quantile' => 0.01
]
]
],
'execution' => [
'starting_capital' => 1000,
'position_fraction' => 1,
'commission_bps' => 10,
'slippage_bps' => 5
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://quantura.studio/api/v1/backtests"
payload := strings.NewReader("{\n \"source\": {\n \"type\": \"ticker\",\n \"symbol\": \"SPY\",\n \"provider\": \"auto\",\n \"frequency\": \"1Day\"\n },\n \"forecast\": {\n \"prediction_length\": 30,\n \"quantiles\": [\n 0.01,\n 0.1,\n 0.25,\n 0.5,\n 0.75,\n 0.9,\n 0.99\n ],\n \"models\": {\n \"prophet\": {\n \"enabled\": true,\n \"weight\": 1\n }\n },\n \"failure_policy\": \"fail\"\n },\n \"replay\": {\n \"context_rows\": 128,\n \"evaluation_windows\": 2\n },\n \"strategy\": {\n \"schema_version\": 2,\n \"type\": \"quantile_rules\",\n \"entry_logic\": \"all\",\n \"rules\": [\n {\n \"id\": \"entry_p10\",\n \"kind\": \"entry\",\n \"condition\": \"crosses_above\",\n \"quantile\": 0.1\n },\n {\n \"id\": \"take_p50\",\n \"kind\": \"take_profit\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.5\n },\n {\n \"id\": \"stop_p01\",\n \"kind\": \"stop_loss\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.01\n }\n ]\n },\n \"execution\": {\n \"starting_capital\": 1000,\n \"position_fraction\": 1,\n \"commission_bps\": 10,\n \"slippage_bps\": 5\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://quantura.studio/api/v1/backtests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"source\": {\n \"type\": \"ticker\",\n \"symbol\": \"SPY\",\n \"provider\": \"auto\",\n \"frequency\": \"1Day\"\n },\n \"forecast\": {\n \"prediction_length\": 30,\n \"quantiles\": [\n 0.01,\n 0.1,\n 0.25,\n 0.5,\n 0.75,\n 0.9,\n 0.99\n ],\n \"models\": {\n \"prophet\": {\n \"enabled\": true,\n \"weight\": 1\n }\n },\n \"failure_policy\": \"fail\"\n },\n \"replay\": {\n \"context_rows\": 128,\n \"evaluation_windows\": 2\n },\n \"strategy\": {\n \"schema_version\": 2,\n \"type\": \"quantile_rules\",\n \"entry_logic\": \"all\",\n \"rules\": [\n {\n \"id\": \"entry_p10\",\n \"kind\": \"entry\",\n \"condition\": \"crosses_above\",\n \"quantile\": 0.1\n },\n {\n \"id\": \"take_p50\",\n \"kind\": \"take_profit\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.5\n },\n {\n \"id\": \"stop_p01\",\n \"kind\": \"stop_loss\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.01\n }\n ]\n },\n \"execution\": {\n \"starting_capital\": 1000,\n \"position_fraction\": 1,\n \"commission_bps\": 10,\n \"slippage_bps\": 5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://quantura.studio/api/v1/backtests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": {\n \"type\": \"ticker\",\n \"symbol\": \"SPY\",\n \"provider\": \"auto\",\n \"frequency\": \"1Day\"\n },\n \"forecast\": {\n \"prediction_length\": 30,\n \"quantiles\": [\n 0.01,\n 0.1,\n 0.25,\n 0.5,\n 0.75,\n 0.9,\n 0.99\n ],\n \"models\": {\n \"prophet\": {\n \"enabled\": true,\n \"weight\": 1\n }\n },\n \"failure_policy\": \"fail\"\n },\n \"replay\": {\n \"context_rows\": 128,\n \"evaluation_windows\": 2\n },\n \"strategy\": {\n \"schema_version\": 2,\n \"type\": \"quantile_rules\",\n \"entry_logic\": \"all\",\n \"rules\": [\n {\n \"id\": \"entry_p10\",\n \"kind\": \"entry\",\n \"condition\": \"crosses_above\",\n \"quantile\": 0.1\n },\n {\n \"id\": \"take_p50\",\n \"kind\": \"take_profit\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.5\n },\n {\n \"id\": \"stop_p01\",\n \"kind\": \"stop_loss\",\n \"target_mode\": \"quantile\",\n \"quantile\": 0.01\n }\n ]\n },\n \"execution\": {\n \"starting_capital\": 1000,\n \"position_fraction\": 1,\n \"commission_bps\": 10,\n \"slippage_bps\": 5\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"backtest_id": "bt_0123456789abcdef0123456789abcdef",
"status": "queued",
"created_at": "2026-09-23T20:00:00.000Z",
"status_url": "/api/v1/backtests/bt_0123456789abcdef0123456789abcdef",
"result_url": "/api/v1/backtests/bt_0123456789abcdef0123456789abcdef"
},
"meta": {
"api_version": "v1"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}