Admin APIs
Admin Lambda API Endpoints
All require super admin authentication (IsSuperAdmin check).
Node Registration
Endpoint |
Method |
Purpose |
Response |
|---|---|---|---|
|
GET |
Poll bulk job status |
|
|
POST |
Bulk register from S3 CSV (async ECS task) |
|
|
POST |
Register single node (cert + admin groups + parent group + tags) |
|
Single registration request:
{
"cert": "-----BEGIN CERTIFICATE-----...",
"ca_cert": "optional",
"checksum": "optional MD5",
"admin_group_names": ["group1", "group2"],
"admin_parent_group_name": "optional parent group",
"tags": ["key1:value1", "key2:value2"]
}
When admin_parent_group_name is provided, each group in admin_group_names is validated/created under that parent. If a group already exists under a different parent, the request fails. If the parent doesn’t exist, it is created first.
Bulk CSV format: node_id,certs,admin_groups
Per-node admin_groups from CSV are always created flat (no parent). The admin_parent_group_name in the API body only applies to the common admin_group_names.
Bulk registration statuses: requested -> started -> data_loaded -> completed
The requested status is created by the Lambda handler immediately, so status queries return meaningful data before the ECS container starts.
Node Group Lookup
Endpoint |
Method |
Purpose |
Response |
|---|---|---|---|
|
GET |
Get node’s ESP RainMaker Neo group + subgroup membership |
|
Mobile Push Integration Management
Endpoint |
Method |
Purpose |
|---|---|---|
|
POST |
Create integration ( |
|
GET |
List all integrations |
|
GET |
Get one integration |
|
PUT |
Update integration credentials |
|
DELETE |
Delete integration |
There is also a non-admin GET /v1/integrations, which returns the public
summary list (no credentials); the same Lambda serves both and gates on the
path.
integration_type is a query parameter, not a body field, and the public
values are lowercase: apns, apns_sandbox, gcm. The handler maps them
to the SNS platform names (APNS, APNS_SANDBOX, GCM) internally.
Integration ID format: {integration_type}_{platform_app_name} — e.g.
apns_com.example.app, apns_sandbox_com.example.app, gcm_my-project. For
non-push integrations (alexa, gva, …) the id is just the type, with no
suffix.
Create request (?integration_type=apns):
{
"authentication_key": "...",
"key_id": "Apple signing key ID",
"team_id": "Apple team ID",
"bundle_id": "com.example.app"
}
Create request (?integration_type=gcm) — a flat Google service-account
JSON, the same shape GVA uses (not an api_key string):
{
"type": "service_account",
"project_id": "my-project",
"private_key_id": "...",
"private_key": "-----BEGIN PRIVATE KEY-----...",
"client_email": "...@my-project.iam.gserviceaccount.com",
"client_id": "...",
"token_uri": "https://oauth2.googleapis.com/token"
}
GET (one) returns per-type fields only: for APNS just the bundle_id (the
auth key is secret), for GCM the full service-account JSON.
Regular User APIs Callable by Admin
AdminDeviceUsersRole holds execute-api:Invoke scoped to the ESP RainMaker Neo API Gateway
(RMBaseApi), so an admin can call every ESP RainMaker Neo endpoint and nothing outside it.
Key ones not currently in the dashboard:
Groups & Subgroups
Endpoint |
Method |
Data |
|---|---|---|
|
POST |
Get Matter NOC |
|
GET/PUT/DELETE |
Group services (automations, schedules) |
|
POST |
Send sharing request |
|
POST |
Create subgroup |
|
PATCH |
Update group |
|
GET |
All ESP RainMaker Neo groups (with subgroups, capabilities, matter config) |
Node Services & Telemetry
Endpoint |
Method |
Data |
|---|---|---|
|
GET/PUT/DELETE |
Node service data |
|
GET |
Aggregated metrics over time |
|
GET |
Latest value per metric |
|
GET |
Raw timeseries data points |
Node Association
Endpoint |
Method |
Data |
|---|---|---|
|
POST |
Confirm association |
|
POST |
Verify association |
|
POST |
Initiate node association |
Credentials & Sharing
Endpoint |
Method |
Data |
|---|---|---|
|
POST |
Get scoped AWS credentials per group/subgroup |
|
POST |
Accept sharing |
|
GET |
Pending sharing requests |
|
POST |
Get user credentials |
Integrations
Endpoint |
Method |
Data |
|---|---|---|
|
POST |
Configure Alexa skill |
|
GET/POST/DELETE |
Google Voice Assistant config |
File Management
Endpoint |
Method |
Data |
|---|---|---|
|
GET |
File templates |
|
POST |
Pre-signed upload URLs |