BodyTrace Devices API

Modeled device listing and status keyed by IMEI.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bodytrace-devices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bodytrace-devices-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: BodyTrace RPM Data Alerts Devices API
  description: 'HTTP API for BodyTrace cellular-connected remote patient monitoring (RPM) devices - blood pressure monitors, body-weight scales, and pulse oximeters. Devices transmit measurements directly over the cellular network to the BodyTrace platform; healthcare organizations then read those readings over this API. Authentication is HTTP Basic using credentials issued by BodyTrace.

    Scope and honesty note: BodyTrace does not publish an open, self-serve developer portal - device provisioning and API credentials are arranged through BodyTrace sales, and the reference docs live behind partner onboarding (BodyTrace''s own docs plus integrator guides such as Validic). The one endpoint publicly and repeatedly documented in the wild is the data values pull, `GET /1/device/{imei}/datavalues`, and the device push message payload. Those are marked CONFIRMED below. The remaining operations (raw data messages, device listing/status, alerts, and provisioning) are HONESTLY MODELED from BodyTrace''s documented IMEI-centric data model and RPM feature set; their exact paths and parameters should be verified against the partner documentation you receive with credentials. Modeled operations carry `x-endpoint-status: modeled`; confirmed ones carry `x-endpoint-status: confirmed`.

    Delivery model: readings can be pulled from the data values endpoint on a polling loop, or pushed by BodyTrace to a customer-hosted HTTP endpoint (a webhook you host and secure). There is no documented public WebSocket surface.'
  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:
  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
  responses:
    Unauthorized:
      description: Missing or invalid HTTP Basic credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The device or resource was not found / not registered.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  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).