Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: BodyTrace RPM Data Devices API
description: HTTP API for BodyTrace cellular-connected remote patient monitoring (RPM) devices - blood pressure monitors, body-weight scales, and pulse oximeters.
version: '1.0'
contact:
name: BodyTrace
url: https://www.bodytrace.com
license:
name: Proprietary
url: https://www.bodytrace.com
servers:
- url: https://us.data.bodytrace.com/1
description: BodyTrace US data region
- url: https://eu.data.bodytrace.com/1
description: BodyTrace EU data region (region assigned by BodyTrace)
security:
- basicAuth: []
tags:
- name: Devices
description: Modeled device listing and status keyed by IMEI.
paths:
/devices:
get:
operationId: listDevices
tags:
- Devices
summary: List devices
description: List the cellular devices provisioned in your account, keyed by IMEI. MODELED - BodyTrace's model is device/IMEI centric, but an account-scoped listing endpoint is gated behind partner credentials; verify against your onboarding docs.
x-endpoint-status: modeled
responses:
'200':
description: A list of devices.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Device'
'401':
$ref: '#/components/responses/Unauthorized'
/device/{imei}/status:
parameters:
- $ref: '#/components/parameters/Imei'
get:
operationId: getDeviceStatus
tags:
- Devices
summary: Get device status
description: Read a single device's status by IMEI - last seen timestamp, battery voltage, signal strength, and provisioning state. MODELED from BodyTrace's device data model; verify against your onboarding docs.
x-endpoint-status: modeled
responses:
'200':
description: The device status.
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
NotFound:
description: The device or resource was not found / not registered.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing or invalid HTTP Basic credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
Imei:
name: imei
in: path
required: true
description: The device IMEI (serial). BodyTrace documents this as the IMEI without leading zeros and without the final check digit.
schema:
type: string
example: '357872040012345'
schemas:
Device:
type: object
description: A provisioned cellular device.
properties:
imei:
type: string
deviceType:
type: string
description: Device family, e.g. scale, bloodPressure, pulseOximeter.
enum:
- scale
- bloodPressure
- pulseOximeter
lastSeen:
type: integer
format: int64
description: Last transmission timestamp, epoch milliseconds (UTC).
batteryVoltage:
type: integer
signalStrength:
type: integer
provisioned:
type: boolean
Error:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication using the username and password issued by BodyTrace for your account. The same credential model secures the customer-hosted push endpoint (you define the username/password BodyTrace uses when POSTing measurements to you).