eero API Reference
Read eero account, network, device, and usage information through Executor or HTTPS. Includes authentication, input rules, errors, and examples for 66 GET routes.
The eero cloud API gives access to account, network, device, and usage information. The Executor integration lets an agent or tool read this information through a connected eero account.
Use it to build an account and network inventory, identify devices and eero nodes, inspect current settings, or read historical usage. Choose the account and network before you request information about a device, profile, or node.
How requests work
An agent or tool calls an eero alias, the operation name in Executor. The adapter is the code that checks the input and sends the request. It adds saved account authentication and sends an HTTPS request to api-user.e2ro.com. It checks the response, filters credential fields, and returns the result to the caller.
Before you start
You need an eero account with permission to read the target resources and valid authentication. An existing network is required for requests that select a network. For Executor calls, use a connected account profile: the saved connection that selects account access. Its session credential is the token that authorizes requests. Keep it in the secure account connection.
For direct API calls, use an HTTPS client and a valid session token for the account. Apply the authentication and request headers below. Do not put credentials in tool inputs, documentation examples, or logs.
Start with account.get_account and networks.get_networks, using {} for each input. Check the account. For a network request, select a network from the list. Then call networks.get_network with its identifier, the value that selects that network, under path.network_id. Use identifiers from the selected network for later device, profile, and node calls.
Access to some resources depends on account permission, subscription, or device support. A listed operation does not give the caller access to that resource.
This reference covers 66 GET routes and 72 Executor aliases. Each route section includes the input rules and request examples.
Search routes and operation groups in the interactive API reference.
Open the Executor alias and input catalog.
Resources and identifiers
An identifier is the value that selects a resource. Use values from the account you selected. List networks with networks.get_networks. Then use the selected network with devices.get_devices, eeros.get_eeros, profiles.get_profiles, or subnets.get_config to find device, node, profile, or subnet identifiers. Do not assume a display name is an identifier.
An eero node is one eero unit in the network. An eero device profile groups devices in that network, for example for a family member. An Executor connection profile selects saved account access. These two profile types have different purposes.
A MAC address (Media Access Control address) identifies a network interface. The mac and device_mac inputs select a device with this address. A subnet is a division of an IP network with its own address range.
Reporting periods
start and end select the requested reporting period. cadence selects daily or hourly intervals. timezone supplies the reporting time zone when the operation accepts it. The examples show date-time strings, but the adapter checks text length only. It does not check date formats, zone names, time order, or whether the period includes its boundary times. The source does not establish server defaults or available history.
Terms used in this reference
- DNS (Domain Name System) maps names to network addresses. SMS (Short Message Service) sends text messages. LED means a light indicator on a node. A feature entitlement is the account or network right to use a feature.
- AC compatibility is the name used for these eero Wi-Fi compatibility settings. The source does not explain what AC means or how the mode works. OUI (Organizationally Unique Identifier) is the organization prefix in a MAC address; it does not prove device type or ownership.
- SQM (Smart Queue Management) controls queues of network traffic to reduce delay. Fast transition supports Wi-Fi client roaming between access points. WPA3 (Wi-Fi Protected Access 3) is a Wi-Fi security standard. These read routes do not change the settings.
- Thread is a low-power mesh networking protocol used by connected devices. Insights are eero analysis results for the requested network, devices, or profiles. This source does not define each insight category.
- HTTP is the request and response protocol used by this API. HTTPS encrypts that traffic. GET is the HTTP method used to request a read. Headers carry request information such as authentication. Query fields carry operation inputs after ? in the URL.
- JSON is the structured text format used for inputs and responses. An integer is a whole number. null means that no data value is present. The HTTP status is the server response code; meta.code is the code inside the eero JSON response. Executor checks these codes as described in Response handling and Errors. REST describes APIs that use resource URLs and HTTP methods. OAuth 2.0 is an authorization protocol that lets a customer grant an application access; it applies to the separate Data Portability API described at the end of the article.
- Upstream means the eero server that Executor calls. A redirect asks the client to use another URL; the adapter refuses it. UTF-8 is the text encoding used to read responses. KiB means 1024 bytes; MiB means 1,048,576 bytes.
Authentication and requests
Base URL: https://api-user.e2ro.com
Send the session token in x-user-token. With Executor, the saved account connection supplies this header. Keep the token out of tool inputs and examples.
The Executor adapter sets these headers:
accept: application/json
user-agent: eero-ios/2026.8.1 (iPhone; iOS 18.5)
x-accept-language: en-US
These GET requests have no body. The adapter does not add a Content-Type header. Keep the API version in each route.
Executor input format
Put route values under path and URL query parameters under query. Supply every route placeholder as a string. Omit input locations that the alias does not accept. An alias with no path or query fields accepts {}.
path. Replace placeholders in a fixed route. Supply all required placeholders as strings. The adapter applies encodeURIComponent to each value.
query. Add fields after ? in the URL. Use only the declared fields. Values become strings through URLSearchParams.
The adapter rejects extra fields. Supply path values without percent encoding; it applies encodeURIComponent. It sends query values through URLSearchParams.
Executor input constraints
These are Executor input rules. They are not additional eero server requirements. The parameter lists state which fields are required and which fields are optional. mac and device_mac path fields use the MAC address rule. Other path fields use the identifier rule.
- text: String, 1 to 1024 characters.
- identifier: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
- mac: String with six hexadecimal pairs separated by colons. Example: 02:00:00:00:00:01.
Executor response handling
For a successful JSON response, the adapter requires an integer meta.code from 200 through 299. It returns the data value, or null when data is absent. HTTP 204 returns null. The adapter reads at most 1 MiB and refuses redirects.
A successful Executor read has ok=true, the HTTP status, data, and outcome="read". The adapter applies its output field rules and filters credential fields and known token values.
Executor read result example:
{"ok":true,"status":200,"data":null,"outcome":"read"}
Executor errors
unknown_operation — Use an alias from the catalog.
invalid_input — Check required path values, query fields, and adapter validators. Remove extra fields.
transport_failed — Check the connection and service reachability.
redirect_refused — Use the fixed host and route in this reference.
upstream_rejected — Check the HTTP status and any upstream_code or upstream_diagnostic returned by the adapter.
invalid_response — The adapter could not read or validate the JSON response.
response_too_large — The response exceeds the 1 MiB adapter limit.
For a non-2xx response, the adapter reads at most 16 KiB of the error body. It returns upstream_code only when meta.code matches the HTTP status and meta.error exactly matches a code in the list below. It omits response bodies, free-text error messages, and unknown code values.
known_code — The JSON has the required shape. meta.code matches the HTTP status, and meta.error matches an approved code.
unknown_code — The JSON has the required shape and matching status. The error string is outside the fixed code list. Its value is omitted.
invalid_envelope — The body parsed as JSON but lacks the required shape: integer meta.code and string meta.error inside a meta object.
status_mismatch — The JSON has the required shape, but meta.code differs from the HTTP status.
invalid_body — JSON parsing or UTF-8 decoding failed.
body_too_large — The body exceeds the 16 KiB error limit.
body_unavailable — The body is absent or could not be read.
Recognized upstream codes
error.network.multistaticip_not_found
error.eero.support_not_found
error.access.denied
error.invalid.user.role
error.premium.user_not_subscribed
error.session.expired
error.session.invalid
error.session.revoked
error.app.version.blocked
error.network.not.found
error.network.unavailable
error.eero.not.capable
error.eero.offline
error.rate.limit
If access is denied, ask the account administrator or eero support to check access to the requested resource. For error.network.multistaticip_not_found, ask them to check resource availability.
Historical usage is available through the data_usage routes. Use the network support route for network support information and the node connections route for node connection information.
GET route reference
Each section lists the HTTP route, Executor aliases, and input rules. The JSON example is an Executor input. The HTTP example shows the request target. Replace sample identifiers with values from your account. Authentication and the fixed headers apply to all examples.
Read AC compatibility settings
GET /2.2/networks/{network_id}/ac_compat
Executor aliases: ac_compat.get_ac_compat
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/ac_compat HTTP/1.1
Host: api-user.e2ro.com
Read the account
GET /2.2/account
Executor aliases: account.get_account
Executor input: {}.
Executor input example:
{}
HTTP request example:
GET /2.2/account HTTP/1.1
Host: api-user.e2ro.com
List SMS countries
GET /2.2/countries/sms
Executor aliases: account.get_sms_countries
Executor input: {}.
Executor input example:
{}
HTTP request example:
GET /2.2/countries/sms HTTP/1.1
Host: api-user.e2ro.com
Read backup internet settings
GET /2.2/networks/{network_id}/backupinternet
Executor aliases: backup.get_backup_internet
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/backupinternet HTTP/1.1
Host: api-user.e2ro.com
Read cellular backup usage
GET /2.2/networks/{network_id}/cellular_backup_usage
Executor aliases: backup.get_cellular_backup_usage
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/cellular_backup_usage HTTP/1.1
Host: api-user.e2ro.com
Read cellular backup events
GET /2.2/networks/{network_id}/cellular_backup_events
Executor aliases: backup.get_cellular_backup_events
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/cellular_backup_events HTTP/1.1
Host: api-user.e2ro.com
List backup access points
GET /2.2/networks/{network_id}/backup_access_points
Executor aliases: backup_access_points.list
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/backup_access_points HTTP/1.1
Host: api-user.e2ro.com
Read backup Wi-Fi discovery status
GET /2.2/networks/{network_id}/backup_access_points/ssid_discovery
Executor aliases: backup_access_points.discover_ssids
This request reads discovery status. It does not start Wi-Fi discovery.
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/backup_access_points/ssid_discovery HTTP/1.1
Host: api-user.e2ro.com
Read the device block list
GET /2.2/networks/{network_id}/blacklist
Executor aliases: blacklist.get_blacklist
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/blacklist HTTP/1.1
Host: api-user.e2ro.com
Read network data usage
GET /2.2/networks/{network_id}/data_usage
Executor aliases: data_usage.get_data_usage
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily",
"timezone": "UTC"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily&timezone=UTC HTTP/1.1
Host: api-user.e2ro.com
Read the data usage breakdown
GET /2.2/networks/{network_id}/data_usage/breakdown
Executor aliases: data_usage.get_breakdown
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Optional. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/breakdown?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z HTTP/1.1
Host: api-user.e2ro.com
Read data usage for devices
GET /2.2/networks/{network_id}/data_usage/devices
Executor aliases: data_usage.get_devices_usage
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Optional. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
query.profile_id
Optional. Select an eero device profile for the usage request. Get its identifier with profiles.get_profiles.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/devices?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z HTTP/1.1
Host: api-user.e2ro.com
Read data usage for one device
GET /2.2/networks/{network_id}/data_usage/devices/{device_mac}
Executor aliases: data_usage.get_device_usage
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.device_mac
Required. Select a device by its MAC address. Get the address with devices.get_devices for the selected network.
Input rule: String with six hexadecimal pairs separated by colons. Example: 02:00:00:00:00:01.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network",
"device_mac": "02:00:00:00:00:01"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/devices/02%3A00%3A00%3A00%3A00%3A01?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily HTTP/1.1
Host: api-user.e2ro.com
Read data usage for eero nodes
GET /2.2/networks/{network_id}/data_usage/eeros
Executor aliases: data_usage.get_eeros_usage
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/eeros?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily HTTP/1.1
Host: api-user.e2ro.com
Read the eero node usage summary
GET /2.2/networks/{network_id}/data_usage/eeros/summary
Executor aliases: data_usage.get_eeros_summary
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/eeros/summary?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily HTTP/1.1
Host: api-user.e2ro.com
Read data usage for one eero node
GET /2.2/networks/{network_id}/data_usage/eeros/{eero_id}
Executor aliases: data_usage.get_eero_usage
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.eero_id
Required. Select an eero node. Get its identifier with eeros.get_eeros for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network",
"eero_id": "sample_eero"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/eeros/sample_eero?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily HTTP/1.1
Host: api-user.e2ro.com
Read data usage for one profile
GET /2.2/networks/{network_id}/data_usage/profiles/{profile_id}
Executor aliases: data_usage.get_profile_usage
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.profile_id
Required. Select an eero device profile. Get its identifier with profiles.get_profiles for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network",
"profile_id": "sample_profile"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/profiles/sample_profile?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily HTTP/1.1
Host: api-user.e2ro.com
Read usage for devices without a profile
GET /2.2/networks/{network_id}/data_usage/unprofiled/devices
Executor aliases: data_usage.get_unprofiled_devices
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Optional. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/unprofiled/devices?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z HTTP/1.1
Host: api-user.e2ro.com
Read the usage summary for devices without a profile
GET /2.2/networks/{network_id}/data_usage/unprofiled/summary
Executor aliases: data_usage.get_unprofiled_summary
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.timezone
Optional. Supply a time-zone value for the reporting period. The source does not establish accepted zone names or a server default.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/unprofiled/summary?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily HTTP/1.1
Host: api-user.e2ro.com
Read data usage report settings
GET /2.2/networks/{network_id}/data_usage/report_settings
Executor aliases: data_usage.get_report_settings
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/data_usage/report_settings HTTP/1.1
Host: api-user.e2ro.com
List network devices
GET /2.2/networks/{network_id}/devices
Executor aliases: devices.get_devices
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.thread
Optional. Supply the Thread option for the device list. The source does not establish which devices each value includes or the server default.
Input rule: String. Use "true", "false".
query.proxied_node
Optional. Supply the proxied-node option for the device list. The source does not establish its selection behavior or the server default.
Input rule: String. Use "true", "false".
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/devices HTTP/1.1
Host: api-user.e2ro.com
Read one network device
GET /2.2/networks/{network_id}/devices/{mac}
Executor aliases: devices.get_device
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.mac
Required. Select a device by its MAC address. Get the address with devices.get_devices for the selected network.
Input rule: String with six hexadecimal pairs separated by colons. Example: 02:00:00:00:00:01.
Executor input example:
{
"path": {
"network_id": "sample_network",
"mac": "02:00:00:00:00:01"
}
}
HTTP request example:
GET /2.2/networks/sample_network/devices/02%3A00%3A00%3A00%3A00%3A01 HTTP/1.1
Host: api-user.e2ro.com
Read device labels
GET /2.2/networks/{network_id}/devices/{mac}/labels
Executor aliases: devices.get_device_labels
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.mac
Required. Select a device by its MAC address. Get the address with devices.get_devices for the selected network.
Input rule: String with six hexadecimal pairs separated by colons. Example: 02:00:00:00:00:01.
Executor input example:
{
"path": {
"network_id": "sample_network",
"mac": "02:00:00:00:00:01"
}
}
HTTP request example:
GET /2.2/networks/sample_network/devices/02%3A00%3A00%3A00%3A00%3A01/labels HTTP/1.1
Host: api-user.e2ro.com
Read network diagnostics
GET /2.2/networks/{network_id}/diagnostics
Executor aliases: diagnostics.get_diagnostics
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/diagnostics HTTP/1.1
Host: api-user.e2ro.com
Read the network record for DNS settings
GET /2.2/networks/{network_id}
Executor aliases: dns.get_dns_settings, networks.get_network, networks.get_premium_status, security.get_security_settings, sqm.get_sqm_settings
These aliases share one GET route. Each returns the full network record after adapter filtering. The settings aliases do not select only DNS, security, queue management, or premium fields.
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network HTTP/1.1
Host: api-user.e2ro.com
Read advanced content filter settings
GET /2.2/networks/{network_id}/dns_policies/advanced_content_filter
Executor aliases: dns_policies.get_advanced_content_filter
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/dns_policies/advanced_content_filter HTTP/1.1
Host: api-user.e2ro.com
Read profile application policies
GET /2.2/networks/{network_id}/dns_policies/profiles/{profile_id}/applications
Executor aliases: dns_policies.get_profile_applications
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.profile_id
Required. Select an eero device profile. Get its identifier with profiles.get_profiles for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network",
"profile_id": "sample_profile"
}
}
HTTP request example:
GET /2.2/networks/sample_network/dns_policies/profiles/sample_profile/applications HTTP/1.1
Host: api-user.e2ro.com
List eero nodes
GET /2.2/networks/{network_id}/eeros
Executor aliases: eeros.get_eeros
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/eeros HTTP/1.1
Host: api-user.e2ro.com
Read one eero node
GET /2.2/eeros/{eero_id}
Executor aliases: eeros.get_eero, eeros.get_led_status
These aliases share one GET route. Each returns the full node record after adapter filtering. The LED alias does not select only light indicator fields.
path.eero_id
Required. Select an eero node. Get its identifier with eeros.get_eeros for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"eero_id": "sample_eero"
}
}
HTTP request example:
GET /2.2/eeros/sample_eero HTTP/1.1
Host: api-user.e2ro.com
Read eero node connections
GET /2.2/eeros/{eero_id}/connections
Executor aliases: eeros.get_connections
path.eero_id
Required. Select an eero node. Get its identifier with eeros.get_eeros for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"eero_id": "sample_eero"
}
}
HTTP request example:
GET /2.2/eeros/sample_eero/connections HTTP/1.1
Host: api-user.e2ro.com
Read network feature entitlements
GET /2.2/entitlements/networks/{network_id}/features
Executor aliases: entitlements.get_features
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/entitlements/networks/sample_network/features HTTP/1.1
Host: api-user.e2ro.com
Read additional network feature offers
GET /2.2/entitlements/networks/{network_id}/upsell_features
Executor aliases: entitlements.get_upsell_features
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/entitlements/networks/sample_network/upsell_features HTTP/1.1
Host: api-user.e2ro.com
Read eero model capabilities
GET /2.2/eero_models/capabilities
Executor aliases: entitlements.get_model_capabilities
query.networkId
Required. Select the network for the model capability request. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"query": {
"networkId": "sample_network"
}
}
HTTP request example:
GET /2.2/eero_models/capabilities?networkId=sample_network HTTP/1.1
Host: api-user.e2ro.com
Read premium customer information
GET /2.2/premium/customer
Executor aliases: entitlements.get_premium_customer
Executor input: {}.
Executor input example:
{}
HTTP request example:
GET /2.2/premium/customer HTTP/1.1
Host: api-user.e2ro.com
Read application events
GET /2.2/networks/{network_id}/app_events
Executor aliases: events.get_app_events
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.page_size
Optional. Supply the application event page size. The source does not establish the server default or the meaning of zero.
Input rule: String with 1 to 12 digits, 0 through 9. Zero and leading zeros are accepted.
query.timestamp
Optional. Supply the time value for the event or notification history request. The source does not establish its format, unit, or pagination boundary behavior.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"page_size": "1"
}
}
HTTP request example:
GET /2.2/networks/sample_network/app_events?page_size=1 HTTP/1.1
Host: api-user.e2ro.com
Read Wi-Fi channel use
GET /2.2/networks/{network_id}/channel_utilization
Executor aliases: events.get_channel_utilization
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.busy_threshold
Optional. Supply the channel-use busy threshold. The source does not establish its unit, comparison behavior, or server default.
Input rule: String with 1 to 12 digits. The first digit must be 1 through 9. Zero and leading zeros are not accepted.
query.eero_id
Optional. Supply the numeric node selector for channel use. This query value uses digits; path.eero_id uses a different identifier rule. The source does not establish how to map between them.
Input rule: String with 1 to 12 digits, 0 through 9. Zero and leading zeros are accepted.
query.band
Optional. Select the Wi-Fi frequency band. The listed choices distinguish 2.4 GHz, full/high/low 5 GHz, and 6 GHz. The source does not establish the high/low split or server default.
Input rule: String. Use "band_2_4GHz", "band_5GHz_full", "band_5GHz_high", "band_5GHz_low", "band_6GHz".
query.granularity
Optional. Supply the channel-use granularity value. The source does not establish the interval unit or server default.
Input rule: String with 1 to 12 digits. The first digit must be 1 through 9. Zero and leading zeros are not accepted.
query.gap_data_placeholder
Optional. Supply the channel-use gap placeholder option. The source does not establish how each value represents missing data or the server default.
Input rule: String with 1 to 12 digits, 0 through 9. Zero and leading zeros are accepted.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z"
}
}
HTTP request example:
GET /2.2/networks/sample_network/channel_utilization?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z HTTP/1.1
Host: api-user.e2ro.com
Read network scan results
GET /2.2/networks/{network_id}/network_scan
Executor aliases: events.get_network_scan
This request reads scan results. It does not start a network scan.
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/network_scan HTTP/1.1
Host: api-user.e2ro.com
Read port forwarding rules
GET /2.2/networks/{network_id}/forwards
Executor aliases: forwards.get_forwards
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/forwards HTTP/1.1
Host: api-user.e2ro.com
Read insights for one device
GET /2.2/networks/{network_id}/insights/devices/{mac}
Executor aliases: insights.get_device_insights
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.mac
Required. Select a device by its MAC address. Get the address with devices.get_devices for the selected network.
Input rule: String with six hexadecimal pairs separated by colons. Example: 02:00:00:00:00:01.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.insight_type
Required. Select the requested insight category. The source does not establish the accepted vendor categories; do not guess them.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network",
"mac": "02:00:00:00:00:01"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily",
"insight_type": "blocked"
}
}
HTTP request example:
GET /2.2/networks/sample_network/insights/devices/02%3A00%3A00%3A00%3A00%3A01?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily&insight_type=blocked HTTP/1.1
Host: api-user.e2ro.com
Read insights for devices
GET /2.2/networks/{network_id}/insights/devices
Executor aliases: insights.get_devices_insights
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.insight_type
Required. Select the requested insight category. The source does not establish the accepted vendor categories; do not guess them.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily",
"insight_type": "blocked"
}
}
HTTP request example:
GET /2.2/networks/sample_network/insights/devices?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily&insight_type=blocked HTTP/1.1
Host: api-user.e2ro.com
Read network insights
GET /2.2/networks/{network_id}/insights
Executor aliases: insights.get_insights
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.insight_type
Required. Select the requested insight category. The source does not establish the accepted vendor categories; do not guess them.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily",
"insight_type": "blocked"
}
}
HTTP request example:
GET /2.2/networks/sample_network/insights?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily&insight_type=blocked HTTP/1.1
Host: api-user.e2ro.com
Read device insights for one profile
GET /2.2/networks/{network_id}/insights/profiles/{profile}/devices
Executor aliases: insights.get_profile_devices_insights
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.profile
Required. Select an eero device profile. Get its identifier with profiles.get_profiles for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.insight_type
Required. Select the requested insight category. The source does not establish the accepted vendor categories; do not guess them.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network",
"profile": "sample_profile"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily",
"insight_type": "blocked"
}
}
HTTP request example:
GET /2.2/networks/sample_network/insights/profiles/sample_profile/devices?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily&insight_type=blocked HTTP/1.1
Host: api-user.e2ro.com
Read insights for one profile
GET /2.2/networks/{network_id}/insights/profiles/{profile}
Executor aliases: insights.get_profile_insights
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.profile
Required. Select an eero device profile. Get its identifier with profiles.get_profiles for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.insight_type
Required. Select the requested insight category. The source does not establish the accepted vendor categories; do not guess them.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network",
"profile": "sample_profile"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily",
"insight_type": "blocked"
}
}
HTTP request example:
GET /2.2/networks/sample_network/insights/profiles/sample_profile?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily&insight_type=blocked HTTP/1.1
Host: api-user.e2ro.com
Read insights for profiles
GET /2.2/networks/{network_id}/insights/profiles
Executor aliases: insights.get_profiles_insights
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.start
Required. Set the start of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.end
Required. Set the end of the requested reporting period. See Reporting periods before the operation sections.
Input rule: String, 1 to 1024 characters.
query.cadence
Required. Select daily or hourly reporting intervals. See Reporting periods before the operation sections.
Input rule: String. Use "daily", "hourly".
query.insight_type
Required. Select the requested insight category. The source does not establish the accepted vendor categories; do not guess them.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"start": "2026-10-27T00:00:00Z",
"end": "2026-10-28T00:00:00Z",
"cadence": "daily",
"insight_type": "blocked"
}
}
HTTP request example:
GET /2.2/networks/sample_network/insights/profiles?start=2026-10-27T00%3A00%3A00Z&end=2026-10-28T00%3A00%3A00Z&cadence=daily&insight_type=blocked HTTP/1.1
Host: api-user.e2ro.com
List network members
GET /2.2/networks/{network_id}/members
Executor aliases: members.get_members
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/members HTTP/1.1
Host: api-user.e2ro.com
List network invitations
GET /2.2/networks/{network_id}/invites
Executor aliases: members.get_invites
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/invites HTTP/1.1
Host: api-user.e2ro.com
List account networks
GET /2.2/networks
Executor aliases: networks.get_networks
Executor input: {}.
Executor input example:
{}
HTTP request example:
GET /2.2/networks HTTP/1.1
Host: api-user.e2ro.com
Read speed test results
GET /2.2/networks/{network_id}/speedtest
Executor aliases: networks.get_speed_tests
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.limit
Optional. Supply the speed test result limit. The source does not establish the server default or the meaning of zero.
Input rule: String with 1 to 12 digits, 0 through 9. Zero and leading zeros are accepted.
query.startTime
Optional. Set the start time for the speed test results request. The adapter does not check the time format or boundary rules.
Input rule: String, 1 to 1024 characters.
query.endTime
Optional. Set the end time for the speed test results request. The adapter does not check the time format or boundary rules.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"limit": "1"
}
}
HTTP request example:
GET /2.2/networks/sample_network/speedtest?limit=1 HTTP/1.1
Host: api-user.e2ro.com
Read guest network settings
GET /2.2/networks/{network_id}/guestnetwork
Executor aliases: networks.get_guest_network
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/guestnetwork HTTP/1.1
Host: api-user.e2ro.com
Read notification settings
GET /2.2/networks/{network_id}/notifications
Executor aliases: notifications.get_settings
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/notifications HTTP/1.1
Host: api-user.e2ro.com
Read unread notification status
GET /2.2/networks/{network_id}/notifications/has_unread
Executor aliases: notifications.has_unread
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/notifications/has_unread HTTP/1.1
Host: api-user.e2ro.com
Read notification history
GET /2.2/networks/{network_id}/notifications_history
Executor aliases: notifications.get_history
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.timestamp
Optional. Supply the time value for the event or notification history request. The source does not establish its format, unit, or pagination boundary behavior.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/notifications_history HTTP/1.1
Host: api-user.e2ro.com
Read OUI check information
GET /2.2/networks/{network_id}/ouicheck
Executor aliases: ouicheck.get_ouicheck
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
query.serial
Required. Supply the serial value for the OUI check. The source does not establish which resource serial is required or a list call that supplies it.
Input rule: String, 1 to 1024 characters.
query.version
Required. Supply the version value for the OUI check. The source does not establish which component version is required or a list call that supplies it.
Input rule: String, 1 to 1024 characters.
Executor input example:
{
"path": {
"network_id": "sample_network"
},
"query": {
"serial": "example",
"version": "example"
}
}
HTTP request example:
GET /2.2/networks/sample_network/ouicheck?serial=example&version=example HTTP/1.1
Host: api-user.e2ro.com
Read network permissions
GET /2.2/networks/{network_id}/permissions
Executor aliases: permissions.get_permissions
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/permissions HTTP/1.1
Host: api-user.e2ro.com
Read power saving schedules
GET /2.2/networks/{network_id}/power_saving/schedules
Executor aliases: power_saving.get_schedules
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/power_saving/schedules HTTP/1.1
Host: api-user.e2ro.com
List network profiles
GET /2.2/networks/{network_id}/profiles
Executor aliases: profiles.get_profiles
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/profiles HTTP/1.1
Host: api-user.e2ro.com
Read one profile
GET /2.2/networks/{network_id}/profiles/{profile_id}
Executor aliases: profiles.get_profile, profiles.get_profile_devices
These aliases share one GET route. Each returns the full profile record after adapter filtering. The profile devices alias does not return only a device list.
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.profile_id
Required. Select an eero device profile. Get its identifier with profiles.get_profiles for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network",
"profile_id": "sample_profile"
}
}
HTTP request example:
GET /2.2/networks/sample_network/profiles/sample_profile HTTP/1.1
Host: api-user.e2ro.com
Read address reservations
GET /2.2/networks/{network_id}/reservations
Executor aliases: reservations.get_reservations
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/reservations HTTP/1.1
Host: api-user.e2ro.com
Read network routing settings
GET /2.2/networks/{network_id}/routing
Executor aliases: routing.get_routing
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/routing HTTP/1.1
Host: api-user.e2ro.com
Read fast transition settings
GET /2.2/networks/{network_id}/fast_transition
Executor aliases: security.get_fast_transition
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/fast_transition HTTP/1.1
Host: api-user.e2ro.com
Read subnet settings
GET /2.2/networks/{network_id}/subnets_config
Executor aliases: subnets.get_config
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/subnets_config HTTP/1.1
Host: api-user.e2ro.com
Read subnet content filters
GET /2.2/networks/{network_id}/subnets_config/{subnet_id}/dns_policies/content_filters
Executor aliases: subnets.get_content_filters
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
path.subnet_id
Required. Select a subnet. Get its identifier from subnets.get_config for the selected network.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network",
"subnet_id": "sample_subnet"
}
}
HTTP request example:
GET /2.2/networks/sample_network/subnets_config/sample_subnet/dns_policies/content_filters HTTP/1.1
Host: api-user.e2ro.com
Read network support information
GET /2.2/networks/{network_id}/support
Executor aliases: support.get_support
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/support HTTP/1.1
Host: api-user.e2ro.com
Read Thread settings and status
GET /2.2/networks/{network_id}/thread
Executor aliases: thread.get_thread
Executor returns only allowed Thread status or invitation information. It omits credential fields, unknown fields, and unrecognized response representations.
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/thread HTTP/1.1
Host: api-user.e2ro.com
Read network update information
GET /2.2/networks/{network_id}/updates
Executor aliases: updates.get_updates
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/updates HTTP/1.1
Host: api-user.e2ro.com
Read WPA3 settings for each band
GET /2.2/networks/{network_id}/wpa3_per_band
Executor aliases: wpa3.get_wpa3_per_band
path.network_id
Required. Select the network. Get its identifier with networks.get_networks.
Input rule: String, 1 to 128 characters. Start with an ASCII letter or digit. Then use only ASCII letters, digits, underscores, or hyphens.
Executor input example:
{
"path": {
"network_id": "sample_network"
}
}
HTTP request example:
GET /2.2/networks/sample_network/wpa3_per_band HTTP/1.1
Host: api-user.e2ro.com
Other eero APIs
eero Data Portability API onboarding
The eero Data Portability API uses OAuth 2.0 and read-only REST access. It requires customer authorization and networks physically located in the European Union. eero supplies its specification after assessment and onboarding.