mellisa waltzermwaltzer.work

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.

iPhone HTTPS request capture guide

On this page