Skip to content

autoabodein/autoabode-api-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

autoabode-api-docs

REST API documentation for AutoAbode cloud services — device management, telemetry, and fleet monitoring.

API Version Status Base URL


Overview

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.


Base URL

https://api.autoabode.com/v1

All endpoints use HTTPS. HTTP requests are redirected to HTTPS.


Authentication

The API uses Bearer token authentication. Obtain your API key from the AutoAbode dashboard at autoabode.com.

Request Header

Authorization: Bearer YOUR_API_KEY

Example

curl -H "Authorization: Bearer ak_live_abc123def456" \
     https://api.autoabode.com/v1/devices

Rate Limits

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

Endpoints Overview

Devices

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

Print Jobs (SinterX Pro)

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

Mesh Networks (MeshVani)

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)

Fleet Analytics

Method Endpoint Description
GET /analytics/utilization Device utilization metrics
GET /analytics/failures Failure rate and root causes
GET /analytics/materials Material consumption tracking

Example Requests & Responses

List Devices

curl -H "Authorization: Bearer ak_live_abc123def456" \
     https://api.autoabode.com/v1/devices

Response (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
  }
}

Get Device Status

curl -H "Authorization: Bearer ak_live_abc123def456" \
     https://api.autoabode.com/v1/devices/sx-pro-0042/status

Response (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"
  }
}

Get Telemetry Data

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"
    }
  ]
}

Submit a Print Job

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/jobs

Response (201 Created):

{
  "job_id": "job-20260427-002",
  "status": "queued",
  "position_in_queue": 1,
  "estimated_start": "2026-04-27T16:00:00Z",
  "estimated_duration_s": 43200
}

Get Mesh Network Topology

curl -H "Authorization: Bearer ak_live_abc123def456" \
     https://api.autoabode.com/v1/networks/net-alpha/topology

Response (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}
  ]
}

Error Responses

All errors follow a consistent format:

{
  "error": {
    "code": "device_not_found",
    "message": "Device with ID 'sx-pro-9999' was not found.",
    "status": 404
  }
}

Common Error Codes

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

SDKs & Libraries

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

Webhooks (Coming Soon)

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

Support & Contact


License

This documentation is released under the MIT License.


Built by AutoAbode — New Delhi, India

About

REST API documentation for AutoAbode cloud services: device management, telemetry, and fleet monitoring for SinterX Pro and MeshVani.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors