Skip to main content

Crate eero_api

Crate eero_api 

Source
Expand description

Rust client library for the eero WiFi router API.

This crate provides an async client for interacting with eero mesh WiFi routers. It covers authentication, network management, device tracking, eero node control, profiles (parental controls), port forwarding, activity monitoring, diagnostics, and speed tests.

§Quick start

use eero_api::{EeroClient, InMemoryStore, ClientBuilder};

// Authenticate with a known session token
let store = InMemoryStore::new();
let client = ClientBuilder::new()
    .credential_store(Box::new(store))
    .build()?;
client.credentials().set_session_token("your_token").await?;

// List networks
let account = client.get_account().await?;
for net in &account.networks.data {
    println!("{}: {}", net.url, net.name.as_deref().unwrap_or("unnamed"));
}

§Authentication flow

The eero API uses a two-step authentication flow:

  1. Call EeroClient::login with an email or phone number. This sends a verification code to that address and returns a temporary user token.
  2. Call EeroClient::verify with the code. This exchanges the user token for a persistent session token stored in the credential store.

§Credential backends

Session tokens can be stored in several backends via the CredentialStore trait:

BackendFeature flagDescription
credential::file::FileStore(default)Plain text files in ~/.config/eero/
credential::memory::InMemoryStore(default)Non-persistent, for testing or CLI token flags
credential::keyring::KeyringStorekeyringOS keychain (macOS Keychain, Linux Secret Service, Windows Credential Manager)
credential::op::OpStoreop1Password CLI (op)
credential::dpapi::DpapiStoredpapiWindows DPAPI encrypted files (Windows only)

Re-exports§

pub use client::ClientBuilder;
pub use client::EeroClient;
pub use credential::memory::InMemoryStore;
pub use credential::CredentialStore;
pub use error::Error;
pub use error::Result;

Modules§

api
API method implementations for EeroClient.
client
credential
Pluggable credential storage for eero session tokens.
error
Error types for the eero API client.
types
Data types for eero API requests and responses.