Skip to content

System Models

OANDA Reference: Primitives Data Definitions

Models for streaming configuration, error handling, and type aliases used throughout the OANDA API.


Streaming Models

StreamingConfiguration

Configuration for streaming connections.

🔗 Source: StreamingConfiguration

Field Type Required Description
include_heartbeats bool âž– Include heartbeat messages in stream (default: True)
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 âž– 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 âž– 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: Client-provided request identifier for correlating API requests with transactions
  • PriceValue - str: Price value encoded as string for precision
  • AccountUnits - str: Account currency amounts encoded as strings
  • DateTime - str: RFC3339 format ("YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ") or UNIX timestamp with nanosecond precision