Webhook Sources
Receive device data by having your IoT platform POST JSON messages to a PEEK webhook URL.
How Webhook Sources Work
When you create a webhook source, PEEK generates a unique URL containing a secret token. Your devices or IoT platform send HTTP POST requests to this URL with a JSON payload. PEEK processes each message, discovers devices, and tracks schemas just like it does for MQTT.
Adding a Webhook Source
Navigate to Sources in the dashboard, click Add Source, and select Webhook. PEEK will generate your ingest URL:
https://peekiot.com/ingest/d99437dd-444f-4d6b-8f66-82604457e4b4
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Your unique webhook secretSending Data
Send a POST request with a JSON body. The payload must include a device identifier. PEEK checks for these fields (in order of priority):
deviceIddevice_idthingName(AWS IoT convention)deviceName(Azure IoT Hub convention)
Example Payload
{
"deviceId": "sensor-001",
"messageType": "telemetry",
"temperature": 22.5,
"humidity": 48,
"battery": 87
}Example cURL
curl -X POST https://peekiot.com/ingest/YOUR_SECRET \
-H "Content-Type: application/json" \
-d '{"deviceId":"sensor-001","temperature":22.5}'Supported Platforms
Webhook sources work with any system that can send HTTP POST requests. Common integrations:
- • AWS IoT Core — use an IoT Rule action to forward messages to the PEEK URL
- • Azure IoT Hub — route messages via an Azure Function or Logic App
- • The Things Network — add a Webhook integration in your TTN application
- • Custom firmware — have devices POST directly if they have HTTP capability
Performance
Webhook ingestion uses an async worker pool to handle burst traffic. Messages are validated and queued immediately, then processed in the background. The queue can absorb bursts of up to 10,000 messages.