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:
- Call
EeroClient::loginwith an email or phone number. This sends a verification code to that address and returns a temporary user token. - Call
EeroClient::verifywith 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:
| Backend | Feature flag | Description |
|---|---|---|
credential::file::FileStore | (default) | Plain text files in ~/.config/eero/ |
credential::memory::InMemoryStore | (default) | Non-persistent, for testing or CLI token flags |
credential::keyring::KeyringStore | keyring | OS keychain (macOS Keychain, Linux Secret Service, Windows Credential Manager) |
credential::op::OpStore | op | 1Password CLI (op) |
credential::dpapi::DpapiStore | dpapi | Windows 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.