Skip to content

Forward data over HTTP POST ​

HTTP POST forwarding sends a batch of new records as a JSON array to a webhook URL. The receiver must accept POST, parse the whole array, and validate the configured authentication.

Configure the connection ​

A Manager or Owner can open Organization → Data → Data Forwarding, click New Profile, choose HTTP Post, and enter the URL and optional secret. Enable and save the profile.

FieldValue
URLAn HTTP or HTTPS endpoint reachable from the cloud; use HTTPS for production
Secret keyThe Bearer credential agreed with the receiver; optional
Profile NameA name that identifies the receiving system
PriorityHigher values run first; this does not change measurement timestamps

With a secret configured, requests include:

http
Content-Type: application/json
Authorization: Bearer <YOUR_SECRET>

HTTP POST profile type, priority, and destination

Request body ​

The body is an array. One request can contain records from multiple points or timestamps. Example:

json
[
  {
    "agri_id": "POINT_AGRI_ID",
    "t": 1709856000,
    "value": 25.3,
    "org_slug": "your-org-slug"
  }
]

agri_id identifies the point, t is the time, and value is the point value. Records may include type, project, or other fields. Older data paths may use org_id for the organization. Preserve fields you need and inspect the first received batch to verify field meanings and time units.

Verify receipt ​

  1. Have the device report new data and check incoming request logs.
  2. Verify the point, timestamp, and value, and process each array entry.
  3. Return 200, 201, or 202 after successful handling. The current sender counts these three statuses as success; 204 is not included.
  4. Check sent counts in the platform and saved records in the receiving system.

Use the interface's test URL and test-data view for a short format check. Test records are temporary and should not be used as historical storage.

No requests arrive ​

Check enabled status, cloud reachability, HTTPS certificates, and authentication. Private network addresses and localhost are not directly reachable cloud destinations.

An HTTP success response does not prove downstream processing is complete. If your receiver queues writes asynchronously, also check its queue and storage results.

See Forwarding profiles for pause and credential update behavior.