A little curiosity. A whole lot of making.Robotics, CNC & connected ideas
robodatech.

Roboda Cloud API Documentation

Roboda Cloud API

Telemetry ingest and live AGV dashboard documentation

Use Roboda Cloud to accept authenticated robot telemetry, validate subscription access, update device online state, and plot AGVs on the dashboard and maps.

Production endpoints https://ingest.robodatech.com/v1/state https://api.robodatech.com/v1/state Both endpoints route to the same strict Roboda Cloud ingest handler.

What the API does

The State API stores the latest JSON state for one registered robot device, updates the last-seen time, marks the device online, and feeds the subscribed user dashboard.

  • Accepts telemetry only from a valid device API key or token.
  • Checks that the owner has an active Roboda Cloud subscription or trial.
  • Checks token expiry and plan device limit before saving telemetry.
  • Supports indoor x/y AGV plotting and outdoor latitude/longitude maps.

Device model

Each registered AGV or robot should have its own device token. A plan with a 25 device limit should use up to 25 registered devices, each sending telemetry with its own token.

One robotOne device token 25 AGVs25 registered devices DashboardAll devices merged or one selected device

Request flow

AGV / Robot battery, speed, x/y Roboda API token + expiry device limit check Cloud latest state Dashboard map + charts

Security

Authentication headers

Send one valid Roboda device token in a request header. Keep tokens out of browser code, public repositories, screenshots, and query strings.

HeaderExampleUse
x-api-keyYOUR_DEVICE_TOKENRecommended for telemetry clients.
x-roboda-api-keyYOUR_DEVICE_TOKENRoboda-specific API key header.
x-roboda-tokenYOUR_DEVICE_TOKENCompatible with the original State API.
AuthorizationBearer YOUR_DEVICE_TOKENStandard bearer-token style.
Validation rule: the API accepts telemetry only when the token matches a registered device, the owner subscription or trial is active, the token is not expired, and the device is inside the active plan device limit.

Quick start

Send a first telemetry packet

Replace the token with a real device token from the Roboda Cloud dashboard. This example sends indoor position, battery, speed, current, temperature, and heading.

Source code and build tools are available in the protected platform workspace.

Successful response

Source code and build tools are available in the protected platform workspace.

Dashboard result

  • Device status changes to online.
  • Battery gauge and numeric chart update.
  • Indoor map moves the AGV to x/y position.
  • Latest JSON viewer stores the payload for inspection.

Reference

Endpoint reference

Use ingest.roboda.tech for robot telemetry. api.roboda.tech is an equivalent alias for integrations.

MethodURLPurposeAuth
GEThttps://ingest.robodatech.com/healthPublic service health check.No
POSThttps://ingest.robodatech.com/v1/stateStore latest robot state and update online status.Yes
POSThttps://ingest.robodatech.com/v1/ingestAlias for strict telemetry ingest.Yes
POSThttps://ingest.robodatech.com/v1/devices/stateAlias for device state ingest.Yes
POSThttps://robodatech.com/wp-json/roboda-cloud/v1/stateLegacy-compatible REST endpoint for state ingest.Yes

Payload

Recommended telemetry fields

The API stores JSON flexibly, but the dashboard reads common field names for charts, dials, and maps. Put robot readings inside state where possible.

Identity

device, device_id, timestamp, state.mode, state.signal

Indoor map

state.x, state.y, state.indoor_x, state.indoor_y. Use a 0-100 coordinate scale for the floor map.

Outdoor map

state.lat, state.lng, state.latitude, state.longitude for OpenStreetMap/Leaflet position plotting.

Power

state.battery_v, state.battery_percent, state.current_a, state.voltage.

Motion

state.speed_mps, state.speed, state.motor_pwm, state.heading_deg, state.rpm.

Sensors

state.distance_cm, state.temperature_c, state.obstacle, state.line_left, state.line_right.

Source code and build tools are available in the protected platform workspace.

Live maps

Plot AGVs on indoor and outdoor maps

The Roboda dashboard merges multiple devices into one fleet view and lets the user focus a selected device. Send x/y for indoor maps or lat/lng for outdoor GPS maps.

Receiving Rack A Rack B Packing AGV 01 AGV 07

Coordinate rules

  • x: 0 is the left edge, x: 100 is the right edge.
  • y: 0 is the top edge, y: 100 is the bottom edge.
  • AGVs without x/y still appear in the staging lane until live position arrives.
  • Outdoor map requires real latitude and longitude values.

Code examples

Client examples

Use these as templates. Keep production tokens in environment variables or server-side configuration.

Source code and build tools are available in the protected platform workspace.

Source code and build tools are available in the protected platform workspace.

Source code and build tools are available in the protected platform workspace.

Source code and build tools are available in the protected platform workspace.

Errors

Common API responses

Handle these responses in the sender software so robots can retry safely or ask the user to refresh subscription/device settings.

StatusCodeMeaningAction
401roboda_missing_tokenNo token was sent.Add one accepted auth header.
403roboda_invalid_tokenToken does not match a registered device.Regenerate or copy the correct device token.
402roboda_subscription_requiredOwner has no active trial/subscription.Renew or activate Roboda Cloud.
402roboda_subscription_expiredAccess expiry has passed.Renew subscription or license.
403roboda_device_limit_exceededDevice is outside the active plan limit.Disable extra devices or upgrade plan.
413roboda_payload_too_largeJSON payload is too large for the plan.Send compact telemetry or reduce frequency/fields.

Testing

AGV telemetry simulator

For lab testing, Roboda has a local simulator that can send random telemetry for up to 25 AGVs. It keeps real device tokens server-side and sends battery, location, speed, current, temperature, heading, and distance values.

Use it for

  • Testing dashboard charts before hardware is ready.
  • Checking plan device-limit behavior.
  • Populating indoor maps with multiple AGVs.
  • Verifying token expiry and invalid-token rejection.

Production rule

Only subscribed/trial users with valid device tokens can ingest telemetry. Invalid API keys, expired tokens, and devices beyond plan limit are discarded.

Use https://ingest.robodatech.com/v1/state for the simulator endpoint.

Open browser testing panel

Operational guidance

Best practices

Do

  • Use one token per robot device.
  • Send compact JSON every 1-5 seconds for live maps.
  • Include timestamp, battery, position, and signal/mode.
  • Regenerate a token if it is exposed.

Do not

  • Do not hard-code real tokens in public web pages.
  • Do not share one token across many AGVs.
  • Do not send huge camera images through the state endpoint.
  • Do not rely on Arduino Nano alone for HTTPS; use a gateway.

Good ideas start here.

Free robotics lessons, CNC build notes and product updates. Confirm your email to join. Unsubscribe anytime.