Skip to content

API ReferenceExecution

Arm a take-profit / stop-loss trigger on a built execution

POST
/v1/exec/{venue}/orders/{executionId}/arm
curl --request POST \
--url https://exec.predictefy.com/v1/exec/hyperliquid/orders/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/arm \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--data '{ "fireMode": "hosted", "trigger": { "when": "at_or_above", "price": 1, "reference": "mark", "confirmations": 2, "dwellMs": 2000, "maxSpread": 0.1, "minSize": 1, "tpsl": "tp" }, "expiresAt": "2026-04-15T12:00:00Z", "ocoGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "artifact": {}, "marketId": "example", "outcomeId": "example" }'

Requires Authorization: Bearer <api-key> with the trade scope and a unique Idempotency-Key. DARK: the conditional family is registered only on deployments that enable it, and an account outside its beta allowlist receives 404 ROUTE_NOT_FOUND.

The path executionId must name one of your own executions that is still built. This operation builds nothing, signs nothing, and relays nothing — it attaches a trigger rule to an existing intent.

Two fire modes:

  • client (every venue): Predictefy watches the book and emits conditional.triggered when the rule is satisfied. You submit with your own credentials and call the report operation. artifact is refused in this mode.

  • hosted (only where GET /v1/exec/venues reports conditional.hosted: true): you supply artifact, the already-signed submit body you would have posted yourself. It is encrypted at rest and replayed by the execution service when the trigger fires. A venue whose submit needs any caller credential is refused with HOSTED_FIRE_NOT_ELIGIBLE, and a deployment holding no artifact key answers HOSTED_FIRE_UNAVAILABLE while client arming keeps working. The artifact carries ONLY the fields that venue's submit reads, each in the shape that submit expects, and it must carry the ones that submit cannot run without. For Limitless both owner and signature are REQUIRED: owner an EVM address string, signature a 65-byte 0x hex ECDSA signature that parses as r-s-v. A 32-byte value is a wallet private key, not a signature, and is refused as one. executionId is optional and must be a uuid matching the path.

    Any other field is refused, the order itself included: the service relays the order it stored at build, which is what stops a signed body being swapped for a different trade. A field carrying an object or an array where a string belongs is refused for the same reason. The artifact must also contain no credential field of any kind, matched however the name is spelled, and nest at most six levels, so nothing we cannot inspect is stored.

trigger.tpsl is accepted as sugar and rewritten to trigger.when from the stored order's side. expiresAt is required, must be in the future and within a year, and must be at or before the market close when the catalog knows it.

trigger.price and trigger.maxSpread must sit on the engine's 1e-6 tick grid — at most six decimals. The engine compares in whole ticks, so an off-grid rule could never mean what it says: 0.4100004 would trigger at 0.41, and 0.4050005 would never match at all. Like every other bound here it is a 400 VALIDATION_ERROR, never a silent rounding, because a rounded trigger is a different trigger from the one you asked for.

One execution may own at most ONE live conditional order (armed, triggered, or firing): arming a second answers 409 CONDITIONAL_ARMED. Retrying the ORIGINAL arm with its own Idempotency-Key still replays, because the key is read first.

An execution whose conditional the customer closed as not_submitted is closed off for good and arming it again answers 409 CONDITIONAL_CLOSED_NOT_SUBMITTED, in either fire mode — the same fence reserve, submit and ack hold. That report says nothing reached the venue, so a second order on the same execution (a hosted one especially, which fires with no customer call at all) would put a live venue order beside it. Build a new execution.

ocoGroupId groups orders one-cancels-other. A group accepts new members only while every member is still armed; joining one that already holds a triggered, fired, canceled, or expired member answers 409 OCO_GROUP_CLOSED. Groups are per account, so your chosen uuid is never visible to or closeable by another tenant.

venue
required
string
Allowed values: hyperliquid kalshi limitless opinion polymarket polymarket_us predictfun pascal xo gemini pred rain myriad predictstreet novig

Execution venue slug. Availability is deployment-specific; discover armed lanes with GET /v1/exec/venues. Settlement-only lanes may appear but report order verbs false.

executionId
required
string format: uuid

Account-owned execution UUID.

Idempotency-Key
required
string
>= 1 characters

Caller-generated non-empty key. Build/cancel/modify keys identify newly persisted intents; a submit key identifies that relay attempt and cannot be rebound to another ID. The literal strings undefined and null are rejected with 400 VALIDATION_ERROR, so a client that stringified a missing key cannot bind or replay one. Two prefixes are RESERVED by the execution service for keys it mints itself and are rejected with 400 RESERVED_IDEMPOTENCY_KEY before anything is written: cond: (a hosted conditional order's own fire key) and dry-run: (the preview key handed to a venue lane). The match is case-sensitive.

Media typeapplication/json
object
fireMode
required
string
Allowed values: hosted client
trigger
required

The trigger rule. Every optional field has an engine default that is stored explicitly on the armed row, so an order always says exactly what it meant.

object
when
required

The direction the reference price must cross.

string
Allowed values: at_or_above at_or_below
price
required

The probability the reference must reach.

number
> 0 < 1
reference

mark is the median of best bid, best ask and a fresh last trade; bid/ask select the executable side explicitly.

string
default: mark
Allowed values: mark bid ask
confirmations

Consecutive qualifying samples required before the order triggers.

integer
default: 2 >= 1
dwellMs

How long the condition must hold, measured on book timestamps.

integer
default: 2000 >= 1
maxSpread

No trigger while the book's spread is wider than this.

number
default: 0.1 > 0 <= 1
minSize

The qualifying quote must show at least this size.

number
default: 1 > 0
tpsl

Sugar. Rewritten to when from the stored order's side (a stop sells below and buys above; take-profit mirrors it), and echoed back on the stored rule.

string
Allowed values: tp sl
expiresAt
required

When the armed order expires. Must be in the future, within a year, and at or before the market close when the catalog knows it.

string format: date-time
ocoGroupId

One-cancels-other group; triggering one member cancels its siblings.

string format: uuid
artifact

HOSTED ONLY, and required there: the already-signed submit body you would have posted yourself. Stored encrypted (AES-256-GCM) and never returned by any read. It must carry no credential field; executionId, if present, must match the execution being armed. Refused for client mode.

object
key
additional properties
any
marketId

Only consulted when the stored artifact does not name the market itself. The value read from the artifact always wins.

string
outcomeId

Only consulted when the stored artifact does not name the outcome itself. The value read from the artifact always wins.

string

A duplicate Idempotency-Key replays the original armed order.

Media typeapplication/json
object
success
required
boolean
data
required

An armed take-profit / stop-loss order. The stored artifact, its hash, its key id and any fire lease are deliberately absent from this shape and are never returned.

object
armCountry
required

The trusted-edge country at arm time, re-applied to the venue geofence at fire.

string | null
createdAt
required
string format: date-time
events

Present on the single-order read only.

Array<object>

One append-only transition, with the evidence that caused it.

object
actor
required
string
Allowed values: api trigger_engine exec_fire expiry
evidence
required
object | null
fromStatus
required
string | null
id
required
integer
toStatus
required
string
ts
required
string format: date-time
executionId
required
string format: uuid
expiresAt
required
string format: date-time
fireAttempts
required
integer
fireMode
required
string
Allowed values: hosted client
id
required
string format: uuid
lastError
required
string | null
marketId
required
string
ocoGroupId
required
string | null format: uuid
outcomeId
required
string
status
required
string
Allowed values: armed triggered firing fired fire_failed canceled expired superseded
trigger
required

The trigger rule. Every optional field has an engine default that is stored explicitly on the armed row, so an order always says exactly what it meant.

object
when
required

The direction the reference price must cross.

string
Allowed values: at_or_above at_or_below
price
required

The probability the reference must reach.

number
> 0 < 1
reference

mark is the median of best bid, best ask and a fresh last trade; bid/ask select the executable side explicitly.

string
default: mark
Allowed values: mark bid ask
confirmations

Consecutive qualifying samples required before the order triggers.

integer
default: 2 >= 1
dwellMs

How long the condition must hold, measured on book timestamps.

integer
default: 2000 >= 1
maxSpread

No trigger while the book's spread is wider than this.

number
default: 0.1 > 0 <= 1
minSize

The qualifying quote must show at least this size.

number
default: 1 > 0
tpsl

Sugar. Rewritten to when from the stored order's side (a stop sells below and buys above; take-profit mirrors it), and echoed back on the stored rule.

string
Allowed values: tp sl
triggerEvidence
required
object | null
triggeredAt
required
string | null format: date-time
updatedAt
required
string format: date-time
venue
required
string
Example
{
"success": true,
"data": {
"events": [
{
"actor": "api"
}
],
"fireMode": "hosted",
"status": "armed",
"trigger": {
"when": "at_or_above",
"reference": "mark",
"confirmations": 2,
"dwellMs": 2000,
"maxSpread": 0.1,
"minSize": 1,
"tpsl": "tp"
}
}
}
Idempotency-Replay
string
Allowed values: true

Present with value true when stored state satisfied an idempotent retry.

The armed conditional order.

Media typeapplication/json
object
success
required
boolean
data
required

An armed take-profit / stop-loss order. The stored artifact, its hash, its key id and any fire lease are deliberately absent from this shape and are never returned.

object
armCountry
required

The trusted-edge country at arm time, re-applied to the venue geofence at fire.

string | null
createdAt
required
string format: date-time
events

Present on the single-order read only.

Array<object>

One append-only transition, with the evidence that caused it.

object
actor
required
string
Allowed values: api trigger_engine exec_fire expiry
evidence
required
object | null
fromStatus
required
string | null
id
required
integer
toStatus
required
string
ts
required
string format: date-time
executionId
required
string format: uuid
expiresAt
required
string format: date-time
fireAttempts
required
integer
fireMode
required
string
Allowed values: hosted client
id
required
string format: uuid
lastError
required
string | null
marketId
required
string
ocoGroupId
required
string | null format: uuid
outcomeId
required
string
status
required
string
Allowed values: armed triggered firing fired fire_failed canceled expired superseded
trigger
required

The trigger rule. Every optional field has an engine default that is stored explicitly on the armed row, so an order always says exactly what it meant.

object
when
required

The direction the reference price must cross.

string
Allowed values: at_or_above at_or_below
price
required

The probability the reference must reach.

number
> 0 < 1
reference

mark is the median of best bid, best ask and a fresh last trade; bid/ask select the executable side explicitly.

string
default: mark
Allowed values: mark bid ask
confirmations

Consecutive qualifying samples required before the order triggers.

integer
default: 2 >= 1
dwellMs

How long the condition must hold, measured on book timestamps.

integer
default: 2000 >= 1
maxSpread

No trigger while the book's spread is wider than this.

number
default: 0.1 > 0 <= 1
minSize

The qualifying quote must show at least this size.

number
default: 1 > 0
tpsl

Sugar. Rewritten to when from the stored order's side (a stop sells below and buys above; take-profit mirrors it), and echoed back on the stored rule.

string
Allowed values: tp sl
triggerEvidence
required
object | null
triggeredAt
required
string | null format: date-time
updatedAt
required
string format: date-time
venue
required
string
Example
{
"success": true,
"data": {
"events": [
{
"actor": "api"
}
],
"fireMode": "hosted",
"status": "armed",
"trigger": {
"when": "at_or_above",
"reference": "mark",
"confirmations": 2,
"dwellMs": 2000,
"maxSpread": 0.1,
"minSize": 1,
"tpsl": "tp"
}
}
}

A missing or RESERVED Idempotency-Key, an invalid trigger/expiry/artifact, an execution that is no longer built when locked, an execution that is not an ORDER (intent: order) — a cancel, modify or redeem execution is refused, because only an order can be a conditional's leg — or a venue that can never be armed in hosted mode. Hosted signatures require exactly 65 bytes, nonzero r and s below the secp256k1 curve order, canonical low-s, and v of 27/28 or 0/1. Limitless owner recovery still runs at fire time because its trusted EIP-712 exchange domain is not stored in the build available to arm.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Missing, invalid, unknown, or revoked Predictefy API key.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

The build would breach a configured execution spend cap.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

The API key lacks trade scope, the venue geofence rejected the request, or the account's plan does not include conditional orders (Pro is the minimum).

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

The venue lane is absent, the execution is missing or not owned by the caller, or the conditional family is not enabled for this account.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

The stored build is incompatible, this execution already has a live conditional order, the customer already closed a conditional on it as not_submitted (which says nothing reached the venue and closes the execution off for good — build a new one), or the named OCO group already holds a member that is no longer armed.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

The authenticated execution token bucket is exhausted.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Unexpected internal execution failure.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

The execution service is unavailable, or hosted conditional arming has no artifact key on this deployment (client arming is unaffected).

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND TRADERS_UNSUPPORTED TRADER_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE SPORTS_SCREEN_UNAVAILABLE SPORTS_FIXTURE_NOT_FOUND SPORTS_BLOCK_NOT_FOUND ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_NO_ROUTE BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED RESERVED_IDEMPOTENCY_KEY IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED RESERVATION_REQUIRED RESERVATION_CONSUMED RESERVATION_MISMATCH RESERVATION_EXPIRED RESERVATION_RELEASED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH CLAIM_GENERATION_UNDETERMINED VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND EXECUTION_TERMINAL CONDITIONAL_NOT_FOUND CONDITIONAL_NOT_ARMED CONDITIONAL_ATTEMPT_CONFLICT CONDITIONAL_ARMED CONDITIONAL_CLOSED_NOT_SUBMITTED OCO_GROUP_CLOSED HOSTED_FIRE_NOT_ELIGIBLE HOSTED_FIRE_UNAVAILABLE NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED PLAN_NOT_FOUND SUBSCRIPTION_EXISTS WEBHOOK_NOT_FOUND INVALID_SIGNATURE PAPER_INSUFFICIENT_CASH PAPER_POSITION_TOO_SMALL PAPER_MARKET_CLOSED PAPER_WORKING_ORDER_CAP PAPER_NO_LIVE_BOOK PAPER_ORDER_NOT_FOUND PAPER_ORDER_NOT_OPEN SQL_QUERY_FAILED SQL_TIMEOUT FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE ARBITRAGE_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}