Skip to main content

CoinApiHttpClient

Struct CoinApiHttpClient 

Source
pub struct CoinApiHttpClient { /* private fields */ }
Expand description

Authenticated, data-only CoinAPI REST client.

Requests return raw protocol models. The single-page historical methods fetch exactly one page; callers must not infer completeness from a full page. The range methods page through a whole window.

Implementations§

Source§

impl CoinApiHttpClient

Source

pub fn new( api_key: SecretString, config: CoinApiHttpConfig, ) -> Result<Self, Error>

Creates a client using an explicit secret and endpoint configuration.

§Errors

Returns an error if the credentials, endpoint, limits, or transport configuration are invalid.

Source

pub fn cancel(&self)

Cancels pending and future requests on this instance.

Source

pub fn credits_remaining(&self) -> u64

Returns the remaining conservative local credit allowance.

Source

pub async fn get_exchanges( &self, query: &ExchangesQuery, ) -> Result<Vec<Exchange>, Error>

Retrieves exchange metadata with optional filtering.

§Errors

Returns an error if the request fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails.

Source

pub async fn get_symbols( &self, exchange_id: &str, query: &SymbolsQuery, ) -> Result<Vec<Symbol>, Error>

Retrieves active symbols for one exchange.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails.

Source

pub async fn request_instruments( &self, exchange_id: &str, query: &SymbolsQuery, price_precisions: &HashMap<InstrumentId, u8>, ts_init: UnixNanos, ) -> Result<Vec<CoinApiInstrument>, Error>

Loads native instruments from the active symbols of one exchange.

Only spot, perpetual, and futures symbols are parsed. Symbols of those types that cannot be mapped to a native instrument are logged and skipped. An instrument listed in price_precisions takes that price precision instead of the CoinAPI price resolution.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails. Validation rejects a price precision beyond the Nautilus maximum.

Source

pub async fn get_book( &self, symbol_id: &str, query: &BookQuery, ) -> Result<Book, Error>

Retrieves a current L2 market-by-price book for one symbol.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails.

Source

pub async fn get_book_l3( &self, symbol_id: &str, query: &BookQuery, ) -> Result<Book, Error>

Retrieves a current L3 market-by-order book for one symbol.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails.

Source

pub async fn get_quotes( &self, symbol_id: &str, query: &HistoryQuery, ) -> Result<Vec<Quote>, Error>

Retrieves one historical quote page with an explicit window and limit.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails.

Source

pub async fn get_quotes_range( &self, symbol_id: &str, range: &HistoryRange, ) -> Result<HistoryPages<Quote>, Error>

Retrieves historical quotes across a window, ordered and paged by time_exchange.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, decoding fails, or response ordering fails.

Source

pub async fn get_trades( &self, symbol_id: &str, query: &TradesQuery, ) -> Result<Vec<Trade>, Error>

Retrieves one historical trade page with an explicit window and limit.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails.

Source

pub async fn get_trades_range( &self, symbol_id: &str, range: &HistoryRange, ) -> Result<HistoryPages<Trade>, Error>

Retrieves historical trades across a window, ordered and paged by time_exchange.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, decoding fails, or response ordering fails.

Source

pub async fn get_ohlcv( &self, symbol_id: &str, query: &OhlcvQuery, ) -> Result<Vec<Ohlcv>, Error>

Retrieves one historical OHLCV page for the requested period.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, or decoding fails.

Source

pub async fn get_ohlcv_range( &self, symbol_id: &str, period_id: &str, range: &HistoryRange, ) -> Result<HistoryPages<Ohlcv>, Error>

Retrieves OHLCV periods starting within a window, ordered and paged by time_period_start.

§Errors

Returns an error if validation fails, the credit budget is exhausted, the transport or HTTP request fails, decoding fails, or response ordering fails.

Trait Implementations§

Source§

impl Debug for CoinApiHttpClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Ungil for T
where T: Send,

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more