openapi: 3.0.3 info: title: VivaLNK Biometrics Data Platform API (Modeled) Devices Vital Signs API description: 'A modeled OpenAPI description of the VivaLNK (Vivalink) Biometrics Data Platform cloud API for remote patient monitoring. VivaLNK provides medical-grade wearable biosensors (Multi-Vital ECG patch, temperature patch, SpO2 sensor, BP cuff) and a cloud platform that ingests their data over RESTful HTTPS services (Amazon API Gateway plus Amazon Kinesis for near-real-time ingestion) and makes it available for machine-to-machine (M2M) integration, webhook push, FHIR interoperability, and bulk file export. IMPORTANT: VivaLNK''s developer surface is delivered through its SDK and Developer Program and is partner-gated - the full API reference is provided under license rather than published openly. The paths, base URL, request parameters, and schemas below are MODELED from VivaLNK''s documented platform capabilities (M2M cloud web services, webhook support, FHIR support, data-file downloads) and are NOT copied from a public reference. Field names, the exact base URL, and authentication scheme must be confirmed against VivaLNK''s licensed documentation before use.' version: 1.0-modeled contact: name: VivaLNK (Vivalink) url: https://www.vivalink.com x-status: modeled x-endpoints-confirmed: false x-source-notes: 'Confirmed via VivaLNK marketing/technical pages and the AWS Partner Network blog: REST over HTTPS, Amazon API Gateway, Amazon Kinesis Data Streams for near-real-time access, M2M cloud APIs, webhook support, FHIR support, and bulk data-file downloads. No public WebSocket API is documented.' servers: - url: https://api.vivalink.com description: Modeled base URL (partner-gated; actual host provided under the Developer Program) security: - bearerAuth: [] tags: - name: Vital Signs description: Biometric measurements captured from wearables. paths: /v1/subjects/{subjectId}/measurements: parameters: - name: subjectId in: path required: true schema: type: string get: operationId: listMeasurements tags: - Vital Signs summary: Retrieve subject measurements description: Returns time-ranged biometric measurements for a subject - ECG-derived heart rate, HRV, RR interval, respiratory rate, temperature, SpO2, blood pressure, and accelerometer/activity data (modeled). Near-real-time results are served over REST (backed by Amazon Kinesis), not a public streaming socket. parameters: - name: metric in: query schema: type: string enum: - heart_rate - hrv - rr_interval - respiratory_rate - temperature - spo2 - blood_pressure - activity - ecg_waveform - name: start in: query schema: type: string format: date-time - name: end in: query schema: type: string format: date-time - name: interval in: query description: Aggregation interval (raw, 1m, 5m, 1h). Omit for raw samples. schema: type: string responses: '200': description: A time series of measurements. content: application/json: schema: type: object properties: subjectId: type: string metric: type: string unit: type: string samples: type: array items: $ref: '#/components/schemas/Measurement' '401': $ref: '#/components/responses/Unauthorized' /v1/subjects/{subjectId}/exports: parameters: - name: subjectId in: path required: true schema: type: string post: operationId: createExport tags: - Vital Signs summary: Request a bulk data-file export description: Requests a bulk export (for example CSV/EDF) of a subject's raw biometric data over a time range for retrospective analysis (modeled). requestBody: required: true content: application/json: schema: type: object properties: start: type: string format: date-time end: type: string format: date-time format: type: string enum: - csv - edf - json responses: '202': description: Export accepted; poll or await a webhook for completion. content: application/json: schema: $ref: '#/components/schemas/Export' components: schemas: Export: type: object properties: id: type: string status: type: string enum: - pending - processing - complete - failed downloadUrl: type: string nullable: true Measurement: type: object properties: timestamp: type: string format: date-time value: type: number deviceId: type: string Error: type: object properties: code: type: string message: type: string responses: Unauthorized: description: Missing or invalid credentials. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer description: Modeled as an OAuth2/bearer access token issued to Developer Program partners for machine-to-machine access. Confirm the exact scheme (API key vs. OAuth2 client credentials) against VivaLNK's licensed docs.