REST API documentation for AutoAbode cloud services — device management, telemetry, and fleet monitoring.
The AutoAbode API provides programmatic access to device management, telemetry data, print job monitoring, and fleet analytics for AutoAbode hardware products. This API is designed for enterprise customers managing multiple SinterX Pro printers, MeshVani networks, or drone fleets.
Website: autoabode.com
Note: This API is currently in beta. Endpoints and response formats may change. Contact abodeauto@gmail.com for beta access.
https://api.autoabode.com/v1
All endpoints use HTTPS. HTTP requests are redirected to HTTPS.
The API uses Bearer token authentication. Obtain your API key from the AutoAbode dashboard at autoabode.com.
Authorization: Bearer YOUR_API_KEY
curl -H "Authorization: Bearer ak_live_abc123def456" \
https://api.autoabode.com/v1/devices| Plan | Requests/minute | Requests/day |
|---|---|---|
| Standard | 60 | 10,000 |
| Enterprise | 300 | 100,000 |
Rate limit headers are included in every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1714200060
| Method | Endpoint | Description |
|---|---|---|
GET |
/devices |
List all registered devices |
GET |
/devices/{device_id} |
Get device details |
PATCH |
/devices/{device_id} |
Update device metadata |
GET |
/devices/{device_id}/status |
Get real-time device status |
GET |
/devices/{device_id}/telemetry |
Get telemetry data |
| Method | Endpoint | Description |
|---|---|---|
GET |
/devices/{device_id}/jobs |
List print jobs |
GET |
/devices/{device_id}/jobs/{job_id} |
Get job details |
POST |
/devices/{device_id}/jobs |
Submit a new print job |
DELETE |
/devices/{device_id}/jobs/{job_id} |
Cancel a queued job |
| Method | Endpoint | Description |
|---|---|---|
GET |
/networks |
List mesh networks |
GET |
/networks/{network_id}/nodes |
List nodes in a network |
GET |
/networks/{network_id}/topology |
Get network topology |
GET |
/networks/{network_id}/messages |
Get message log (metadata only) |
| Method | Endpoint | Description |
|---|---|---|
GET |
/analytics/utilization |
Device utilization metrics |
GET |
/analytics/failures |
Failure rate and root causes |
GET |
/analytics/materials |
Material consumption tracking |
curl -H "Authorization: Bearer ak_live_abc123def456" \
https://api.autoabode.com/v1/devicesResponse (200 OK):
{
"data": [
{
"device_id": "sx-pro-0042",
"type": "sinterx_pro",
"name": "SinterX Pro #42",
"serial": "SXP-2025-0042",
"firmware": "3.2.1",
"status": "printing",
"location": "Lab A, Building 3",
"registered_at": "2025-06-15T10:30:00Z",
"last_seen": "2026-04-27T08:15:32Z"
},
{
"device_id": "mv-relay-007",
"type": "meshvani_relay",
"name": "North Ridge Relay",
"serial": "MVR-2025-0007",
"firmware": "2.4.1",
"status": "online",
"location": "Site Alpha, Tower 2",
"registered_at": "2025-09-01T14:00:00Z",
"last_seen": "2026-04-27T08:14:58Z"
}
],
"pagination": {
"total": 24,
"page": 1,
"per_page": 20,
"pages": 2
}
}curl -H "Authorization: Bearer ak_live_abc123def456" \
https://api.autoabode.com/v1/devices/sx-pro-0042/statusResponse (200 OK):
{
"device_id": "sx-pro-0042",
"status": "printing",
"current_job": {
"job_id": "job-20260427-001",
"file_name": "bracket_assembly_v3.stl",
"material": "PA12",
"profile": "PA12_standard_quality",
"progress_pct": 64,
"current_layer": 640,
"total_layers": 1000,
"elapsed_s": 28800,
"estimated_remaining_s": 16200
},
"temperatures": {
"bed_c": 174.2,
"feed_c": 145.1,
"chamber_c": 168.5
},
"atmosphere": {
"o2_pct": 0.3,
"n2_flow_lpm": 12.5
},
"laser": {
"power_w": 30,
"hours_total": 1842,
"hours_since_service": 342
},
"thermal_camera": {
"enabled": true,
"alerts_this_build": 2,
"last_alert": "advisory: minor temp variation layer 412"
}
}curl -H "Authorization: Bearer ak_live_abc123def456" \
"https://api.autoabode.com/v1/devices/sx-pro-0042/telemetry?from=2026-04-26T00:00:00Z&to=2026-04-27T00:00:00Z&interval=1h"Response (200 OK):
{
"device_id": "sx-pro-0042",
"from": "2026-04-26T00:00:00Z",
"to": "2026-04-27T00:00:00Z",
"interval": "1h",
"data_points": [
{
"timestamp": "2026-04-26T00:00:00Z",
"bed_temp_c": 174.1,
"feed_temp_c": 145.0,
"o2_pct": 0.3,
"laser_power_w": 30,
"layer": 12,
"status": "printing"
},
{
"timestamp": "2026-04-26T01:00:00Z",
"bed_temp_c": 174.3,
"feed_temp_c": 145.2,
"o2_pct": 0.2,
"laser_power_w": 30,
"layer": 92,
"status": "printing"
}
]
}curl -X POST \
-H "Authorization: Bearer ak_live_abc123def456" \
-H "Content-Type: application/json" \
-d '{
"file_url": "https://files.autoabode.com/uploads/bracket_v4.stl",
"material": "PA12",
"profile": "PA12_standard_quality",
"copies": 4,
"priority": "normal",
"notify_email": "engineer@company.com"
}' \
https://api.autoabode.com/v1/devices/sx-pro-0042/jobsResponse (201 Created):
{
"job_id": "job-20260427-002",
"status": "queued",
"position_in_queue": 1,
"estimated_start": "2026-04-27T16:00:00Z",
"estimated_duration_s": 43200
}curl -H "Authorization: Bearer ak_live_abc123def456" \
https://api.autoabode.com/v1/networks/net-alpha/topologyResponse (200 OK):
{
"network_id": "net-alpha",
"node_count": 8,
"nodes": [
{"id": 1, "name": "Base Station", "type": "meshvani", "lat": 28.6139, "lon": 77.2090},
{"id": 2, "name": "Relay North", "type": "meshvani_relay", "lat": 28.6280, "lon": 77.2100},
{"id": 3, "name": "Unit Alpha", "type": "meshvani", "lat": 28.6350, "lon": 77.2150}
],
"edges": [
{"from": 1, "to": 2, "rssi_dbm": -62, "snr_db": 9.5, "distance_km": 1.6},
{"from": 2, "to": 3, "rssi_dbm": -88, "snr_db": 4.2, "distance_km": 0.9},
{"from": 1, "to": 3, "rssi_dbm": -105, "snr_db": 0.8, "distance_km": 2.4}
]
}All errors follow a consistent format:
{
"error": {
"code": "device_not_found",
"message": "Device with ID 'sx-pro-9999' was not found.",
"status": 404
}
}| HTTP Status | Code | Description |
|---|---|---|
| 400 | invalid_request |
Malformed request body or parameters |
| 401 | unauthorized |
Missing or invalid API key |
| 403 | forbidden |
API key lacks permission for this resource |
| 404 | not_found |
Resource does not exist |
| 409 | conflict |
Resource state conflict (e.g., cancelling a completed job) |
| 429 | rate_limited |
Too many requests; retry after Retry-After seconds |
| 500 | internal_error |
Server error; contact support |
Official SDKs are in development. In the meantime, the API works with any HTTP client:
| Language | Recommended Library |
|---|---|
| Python | requests or httpx |
| JavaScript | fetch or axios |
| Go | net/http |
| Rust | reqwest |
| cURL | Built-in |
Webhook support for real-time event notifications is planned for v1.1:
- Build completed / failed
- Device online / offline
- Thermal alert triggered
- Mesh node join / lost
- API Support: abodeauto@gmail.com
- Website: autoabode.com
- SinterX Pro: autoabode.com/sinterx
- MeshVani: autoabode.com/meshvani
This documentation is released under the MIT License.
Built by AutoAbode — New Delhi, India