//! The REST surface of the tastytrade API.
//!
//! Every module here is a thin layer over the generic verbs in [`crate::api::client`]: it
//! names an endpoint, gives its arguments types, and returns a
//! [`crate::TastyResult`]. The decisions about status handling, redaction and
//! error shape live in [`crate::api::client`] and [`crate::api::base`], not here.
/// Accounts: balances, positions, live orders and the reviewed-placement flow.
/// Server-side strategy backtests, on their own host.
/// Response envelopes, pagination and the tolerant `Items<T>` listing.
/// The client itself: the OAuth2 session and the generic HTTP verbs.
/// The OAuth2 session: token exchange, expiry and refresh.
/// Option chains: flat, compact and nested.
/// Instruments: equities, futures, options, cryptocurrencies and warrants.
/// Market sessions and holidays.
/// Query-string assembly and the page a listing is asked for.
/// DXLink token exchange and streamer-symbol lookup.
/// Percent-encoding for the dynamic parts of a request path.
pub