System Models¶
OANDA Reference: Primitives Data Definitions
SDK streaming configuration, parsed error details and primitive aliases. Streaming policies are local SDK settings, not request objects sent to OANDA.
Field names are Python attributes. Required means required at model construction;
None in the type indicates a nullable value. Defaults and local validation do not
establish server eligibility. See reading model tables.
Streaming Models¶
StreamingConfiguration¶
Configuration for streaming connections.
🔗 Source: StreamingConfiguration
| Field | Type | Required | Description |
|---|---|---|---|
include_heartbeats |
bool | âž– | Yield heartbeat messages to the caller (default: True). OANDA always sends heartbeats; when False they are filtered out client-side |
stall_timeout |
float | âž– | Seconds before considering stream stalled (default: 30.0) |
reconnection_policy |
ReconnectionPolicy | âž– | Reconnection settings (default: ReconnectionPolicy()) |
ReconnectionPolicy¶
Policy for automatic reconnection.
🔗 Source: ReconnectionPolicy
| Field | Type | Required | Description |
|---|---|---|---|
max_attempts |
int | âž– | Maximum reconnection attempts (default: 3) |
delay_seconds |
float | âž– | Delay between reconnection attempts in seconds (default: 1.0) |
Error Models¶
ErrorDetails¶
Structured error information from API responses.
🔗 Source: ErrorDetails
| Field | Type | Required | Description |
|---|---|---|---|
message |
str | ✅ | Primary error message |
code |
str | None | âž– | Primary error code |
violations |
list[ValidationViolation] | âž– | Field validation errors (default: empty list) |
additional_fields |
dict[str, Any] | âž– | Additional error context from API response (default: empty dict) |
ValidationViolation¶
Specific field validation error.
🔗 Source: ValidationViolation
| Field | Type | Required | Description |
|---|---|---|---|
field |
str | ✅ | Field name with validation error |
message |
str | ✅ | Validation error message |
code |
str | None | âž– | Machine-readable error code for the violation |
Type Aliases¶
AccountID- str: Account identifier using format "{siteID}-{divisionID}-{userID}-{accountNumber}"TradeID- str: Trade identifier (OANDA-assigned positive integer as string)OrderID- str: Order identifier (unique within account)TransactionID- str: Transaction identifier (positive integer assigned sequentially by OANDA)RequestID- str: OANDA-generated request identifier returned in response headers and transaction payloadsClientRequestID- str: Client-provided request identifier sent with write requests for support correlationPriceValue-Decimal: native price value; encoded as a string on the wireAccountUnits-Decimal: native account-currency amount; encoded as a string on the wireDecimalNumber-Decimal: general decimal quantity
OANDA's DateTime primitive is an RFC3339 or UNIX wire value. Datetime model fields
use Python datetime, with microsecond precision. DateTime is an alias for datetime.