Introduction
Cymo is a contactless mmWave sensor. These docs cover the REST API and the SDK, CLI and MCP server built on it.
What you get
One API for respiration, heart rate, HRV, presence and movement. No camera, nothing to wear. The same data is available over REST, from TypeScript, from your terminal and from any MCP-compatible agent.
Your first reading
import { Cymo } from "@cymos/sdk";
const cymo = new Cymo({ apiKey: process.env.CYMO_API_KEY! });
const { data, meta } = await cymo.vitals.get({ room_id: "room_bedroom" });
for (const person of data.people) {
console.log(person.track_id, person.signals.heart_rate_bpm?.value);
}
console.log(meta.livemode); // false: test keys read the simulatorTry it
Build a request on this page and preview what comes back. Test keys only ever read simulated data, so they are safe to use here.
GEThttps://api.cymatics.tech/v1/vitals?room_id=room_bedroomPaste a test key and preview the response. Test keys read the simulator, so no device is needed.
How it works
Start in test mode: every operation is served by a simulator with realistic rooms and 14 scenario presets, so you can build before your device arrives.
Order Cymo from the dashboard and pair it. Live keys read your paired Cymo through the same endpoints, so going live means swapping the key, not changing your code.
Next steps
Follow the quickstart to read your first simulated room in under five minutes, or browse the API reference. To call it from code, a terminal or an agent, see the SDK, CLI and MCP server guides.