---
updatedAt: 2026-01-29T17:52:41.000Z
agentTools:
  projectIndex: https://developer.validic.com/llms.txt
---

# Submitting Health Data to Inform Connect

<Callout icon="🔍" theme="default">
  This guide is for Inform Data Source Partners.

  If you are a Validic Inform Client and you are looking for more information on how to use the Inform APIs to retrieve your end users' data, please review the [Inform API Quick Start Guide](https://helpdocs.validic.com/docs/using-this-guide) instead of this one.
</Callout>

Prior to submitting data to Validic for an End User, the user must be successfully connected to Validic and you must have a valid `access_token` which is generated as part of the connection process. See [Connecting Users to Inform Connect](https://helpdocs.validic.com/docs/connecting-users-to-inform-connect#/) steps 1 - 4 for more details.

***

## Post End-User Data to Validic Inform Connect API Gateway

Data Source Partners use the following endpoints to POST health data records for End Users to Inform. See the following linked pages for more details on each endpoint.

| Resource Type                                                                                | Request URL                                | Description                                             | Example Data Types                           |
| :------------------------------------------------------------------------------------------- | :----------------------------------------- | :------------------------------------------------------ | :------------------------------------------- |
| [Daily Summaries](https://helpdocs.validic.com/docs/inform-connect-submit-daily-summaries#/) | POST `/connect/provider/data/summaries`    | Aggregated Daily Activity (always 1 per source per day) | Steps, Calories Burned, Active Duration, etc |
| [Workouts Events](https://helpdocs.validic.com/docs/inform-connect-submit-workouts#/)        | POST `/connect/provider/data/workouts`     | Workouts and Fitness Events                             | Steps, Distance, Duration, etc               |
| [Daily Nutrition](https://helpdocs.validic.com/docs/inform-connect-submit-nutrition#/)       | POST `/connect/provider/data/nutrition`    | Meals and Foods Consumed                                | Calories Consumed, Carbs, Fiber, etc         |
| [Measurements](https://helpdocs.validic.com/docs/inform-connect-submit-measurements#/)       | POST `/connect/provider/data/measurements` | Vital Signs and Measures                                | Blood Pressure, Body Weight, etc             |
| [Sleep Events](https://helpdocs.validic.com/docs/inform-connect-submit-sleep#/)              | POST `/connect/provider/data/sleep`        | Sleep Events                                            | REM, Light, Awake, Total Sleep, etc          |

<br />

***

### Required Request Headers

```
Content-Type: application/json  
Authorization: Bearer access_token
```

NOTE: The `authorization` token here is the user’s `access_token` which you received in [Step 2 when Connecting Users to Inform Connect](https://helpdocs.validic.com/docs/connecting-users-to-inform-connect#/step-2-end-user-is-redirected-to-data-source-for-authentication).

### Request Format

Data posted to the Inform Connect API must be in the following format and meet the following requirements. Data records are submitted one at a time.

* `log_id`: The unique identifier for the record provided by the Data Source.
* `start_time`: The start time of the event represented in UTC. For point-in-time measurements this will be the same as `end_time`\
  \*\* Example: `2025-01-01T16:37:00Z`
* `end_time`: The end time of the event represented in UTC. For point-in-time measurements this will be the same as `start_time`\
  \*\* Example: `2025-01-01T16:37:00Z`
* `utc_offset`: Validic reports all times in UTC. The `utc_offset` is the local offset in seconds from UTC in order to calculate a local time for the end-user.\
  \*\* Example: `-14400`
* `offset_origin`: This value provides Inform with information about how your app or device established the UTC Offset for the end user’s record. See [Time](https://helpdocs.validic.com/docs/submitting-health-data-to-inform-connect#/time) section below. Accepted values are:\
  \*\* `source`: The offset was provided or calculated based on data record provided by the record source
  \*\* `profile`: The offset was provided by a user profile at the data source
* `metrics`: Array. Each `metric` represents a value generated from your data source and related contextual information. See the [Metrics](https://helpdocs.validic.com/docs/submitting-health-data-to-inform-connect#/metrics) section below. Each metric must include:\
  \*\*`type`: The type of metric being reported. See the [Metrics](https://helpdocs.validic.com/docs/submitting-health-data-to-inform-connect#/metrics) section below.
  \*\* `origin`: The method by which the data was recorded. See the [Metrics](https://helpdocs.validic.com/docs/submitting-health-data-to-inform-connect#/metrics) section below.
  \*\*`unit`: The metric unit of measure the value is being reported in. See the [Metrics](https://helpdocs.validic.com/docs/submitting-health-data-to-inform-connect#/metrics) section below.
  \*\* `value`: The value received from the data source/device.\
  \*\* Example:

```json
{
	"type": "blood_glucose",
	"origin": "device",
	"unit": "mg/dL",
	"value": 198.0
}
```

* `source`: The “type” is the name of your source and will be supplied to you by Validic. The “device” is optional and can be specified by you to identify the name of your device. NOTE: When providing “device”, its “id” must always be `null` as this is a Validic-generated identifier for specific device types.\
  \*\* Example:

```json
"source": {
  "type": "validic_connect_test",
  "device": {
    "id": null,
    "model": "Validic Watch",
    "manufacturer": "Validic Inc."
    }
}
```

* `type`: Identifies the record type. Must be one of the following:\
  \*\*`measurement`
  \*\* `summary`\
  **`workout`
  \*\* `sleep`\&#xA;**&#x20;`nutrition`
* `user_notes`: Note left by the end-user regarding the event. More information can be found here: <https://helpdocs.validic.com/docs/user-notes>
* `version`: Always `1.0`

#### Example Request Body

```json
{
    "log_id": "validic-test-record-1",
    "start_time": "2025-02-24T12:30:09Z",
    "end_time": "2025-02-24T12:30:09Z",
    "utc_offset": -72000,
    "offset_origin": "source",
    "metrics": [
        {
            "type": "blood_glucose",
            "origin": "device",
            "unit": "mg/dL",
            "value": 199.0
        }
    ],
    "source": {
        "type": "validic_connect_test",
        "device": {
            "id": null,
            "model": "Validic Watch One",
            "manufacturer": "Validic Inc."
        }
    },
    "type": "measurement",
    "version": "1.0"
}
```

> 📘 Important Note
>
> POSTing with a record multiple times with the same `log_id` will update the existing record in Inform.

***

### Response Format

A `200 Success` and the Inform record will be returned when a POST call successfully creates or updates a record in Inform.

Possible errors are documented here: <https://helpdocs.validic.com/reference#errors>

NOTE: A `401 Unauthorized` and the `token` will be returned when a POST call is made for an End User that no longer has an active connection to the data source. When this response is received, it is an indication that the user connection can be removed on your end.

***

## Important Considerations

### Time

Time representations in the Inform Connect API are presented as complete UTC timestamps with adherence to the ISO8601 standard. In addition, for determining the user local time of the event, a `utc_offset` is provided as a whole integer representing the seconds offset from UTC. The `offset_origin` provides additional context on how the UTC offset was calculated.

### Offset Origins

* `source`: UTC offset received from the original record, or the timezone information was directly provided by the original source of data when it was retrieved.
* `profile`: UTC offset received from the user profile information at the Data Source. This is the user's timezone information set by the user in his or her Data Source app or device.

#### Example Time Fields

```json
...
    "start_time": "2025-02-24T12:30:09Z",
    "end_time": "2025-02-24T12:30:09Z",
    "utc_offset": -72000,
    "offset_origin": "source",
...
```

***

### Metrics

#### Acceptable Metrics

Review the [list](https://helpdocs.validic.com/docs/metrics) of metrics that can be provided to Inform. If you need to add new metrics, please discuss this with your Inform Connect contact.

<Callout icon="❗️" theme="error">
  The naming conventions, endpoints and units of measure are not flexible.

  You must specify metric type and unit as supported by Inform. See the [Inform metric list](https://helpdocs.validic.com/docs/metrics) for details.
</Callout>

If you have questions on how to send your data using currently supported metrics your Inform Connect contact can help with this as well. Simply provide the metrics and we will send you additional sample request bodies for those metrics.

<br />

#### Fields

Within a record, the data specific to the End User event is returned in a list of Metrics. Every record must include at least one metric. Each metric is broken into four attributes, detailed below. If a metric is not reported by a data source, the metric will not appear in the resulting Validic data record. Although Validic will not send NULL for metrics, NULL values are possible for other record attributes.

<Callout icon="📘" theme="info">
  Every record must include at least one metric.
</Callout>

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Attribute
      </th>

      <th>
        Definition
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        type
      </td>

      <td>
        The type of metric being reported, like `steps`, `active_duration`, or `avg_heart_rate`. Use the "Type" indicated in the [Inform metric list](https://helpdocs.validic.com/docs/metrics).
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        unit
      </td>

      <td>
        The metric unit of measure the value is being reported in. Use the "Standard Unit"
        indicated in the  [Inform metric list](https://helpdocs.validic.com/docs/metrics).
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        value
      </td>

      <td>
        The presentation of the measurement, which represents the value received from the data source. For instance, `100` steps from a smartwatch. Ensure your value is in the "Data Type" indicated in the [Inform metric list](https://helpdocs.validic.com/docs/metrics) .
      </td>

      <td>
        string, float, or integer*
      </td>
    </tr>

    <tr>
      <td>
        origin
      </td>

      <td>
        The method by which the measurement was recorded. This value is used to determine where the data was generated. For instance, "manual" meaning the end-user added the event using the application and not their device. See full list: [https://helpdocs.validic.com/docs/data-origin-validated-data](https://helpdocs.validic.com/docs/data-origin-validated-data)
      </td>

      <td>
        string
      </td>
    </tr>
  </tbody>
</Table>

<br />

#### Sample Metrics Block

```json
"metrics": [
                {
                    "type": "active_duration",
                    "unit": "s",
                    "value": 125,
                    "origin": "device"
                },
                {
                    "type": "basal_energy_burned",
                    "unit": "kcal",
                    "value": 2371.96079206,
                    "origin": "unknown"
                },
                {
                    "type": "distance",
                    "unit": "m",
                    "value": 1244.01981306,
                    "origin": "device"
                },
                {
                    "type": "active_energy_burned",
                    "unit": "kcal",
                    "value": 219.896335174,
                    "origin": "device"
                },
                {
                    "type": "steps",
                    "unit": "count",
                    "value": 1546,
                    "origin": "device"
                },
                {
                    "type": "energy_burned",
                    "unit": "kcal",
                    "value": 2591.857127234,
                    "origin": "device"
                }
            ]
```

See the [endpoint-specific pages](https://helpdocs.validic.com/docs/submitting-health-data-to-inform-connect#/post-end-user-data-to-validic-inform-connect-api-gateway) for additional Code Samples to use as a reference.

<br />