curl --request POST \
--url https://api.iklim.co/v1/alarms/geometries/register \
--header 'Content-Type: application/json' \
--data '
{
"registrationId": "f7587d9e-2481-4b4c-818d-c8d1946851b7",
"recipientId": "Recipient 1",
"boundary": {
"cityId": 6,
"districtId": 557,
"neighborhoodId": 55766
},
"webhook": {
"accountId": "2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1",
"url": "https://api.customer.com/alerts/callback",
"httpMethod": "POST",
"contentType": "application/json",
"authentication": {
"type": "API_KEY",
"username": "alert-user",
"password": "******"
},
"requestHeaders": {
"source": "iklim.co",
"custom-header": "value"
},
"deliveryPolicy": {
"timeout": 60,
"maxRetries": 3,
"retryDelay": 10
}
},
"filter": {
"lightning": {
"type": "FLASH_CLOUD_TO_GROUND",
"peakCurrent": -12.5,
"inCloudHeight": 4500
},
"thunderstorm": {
"intersectsAffectedPolygon": true,
"intersectsCellPolygon": false,
"severityThreshold": "MEDIUM",
"speedThreshold": 20
},
"precipitation": {
"intensities": [
"LIGHT",
"MODERATE"
]
}
}
}
'import requests
url = "https://api.iklim.co/v1/alarms/geometries/register"
payload = {
"registrationId": "f7587d9e-2481-4b4c-818d-c8d1946851b7",
"recipientId": "Recipient 1",
"boundary": {
"cityId": 6,
"districtId": 557,
"neighborhoodId": 55766
},
"webhook": {
"accountId": "2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1",
"url": "https://api.customer.com/alerts/callback",
"httpMethod": "POST",
"contentType": "application/json",
"authentication": {
"type": "API_KEY",
"username": "alert-user",
"password": "******"
},
"requestHeaders": {
"source": "iklim.co",
"custom-header": "value"
},
"deliveryPolicy": {
"timeout": 60,
"maxRetries": 3,
"retryDelay": 10
}
},
"filter": {
"lightning": {
"type": "FLASH_CLOUD_TO_GROUND",
"peakCurrent": -12.5,
"inCloudHeight": 4500
},
"thunderstorm": {
"intersectsAffectedPolygon": True,
"intersectsCellPolygon": False,
"severityThreshold": "MEDIUM",
"speedThreshold": 20
},
"precipitation": { "intensities": ["LIGHT", "MODERATE"] }
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
registrationId: 'f7587d9e-2481-4b4c-818d-c8d1946851b7',
recipientId: 'Recipient 1',
boundary: {cityId: 6, districtId: 557, neighborhoodId: 55766},
webhook: {
accountId: '2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1',
url: 'https://api.customer.com/alerts/callback',
httpMethod: 'POST',
contentType: 'application/json',
authentication: {type: 'API_KEY', username: 'alert-user', password: '******'},
requestHeaders: {source: 'iklim.co', 'custom-header': 'value'},
deliveryPolicy: {timeout: 60, maxRetries: 3, retryDelay: 10}
},
filter: {
lightning: {type: 'FLASH_CLOUD_TO_GROUND', peakCurrent: -12.5, inCloudHeight: 4500},
thunderstorm: {
intersectsAffectedPolygon: true,
intersectsCellPolygon: false,
severityThreshold: 'MEDIUM',
speedThreshold: 20
},
precipitation: {intensities: ['LIGHT', 'MODERATE']}
}
})
};
fetch('https://api.iklim.co/v1/alarms/geometries/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.iklim.co/v1/alarms/geometries/register",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'registrationId' => 'f7587d9e-2481-4b4c-818d-c8d1946851b7',
'recipientId' => 'Recipient 1',
'boundary' => [
'cityId' => 6,
'districtId' => 557,
'neighborhoodId' => 55766
],
'webhook' => [
'accountId' => '2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1',
'url' => 'https://api.customer.com/alerts/callback',
'httpMethod' => 'POST',
'contentType' => 'application/json',
'authentication' => [
'type' => 'API_KEY',
'username' => 'alert-user',
'password' => '******'
],
'requestHeaders' => [
'source' => 'iklim.co',
'custom-header' => 'value'
],
'deliveryPolicy' => [
'timeout' => 60,
'maxRetries' => 3,
'retryDelay' => 10
]
],
'filter' => [
'lightning' => [
'type' => 'FLASH_CLOUD_TO_GROUND',
'peakCurrent' => -12.5,
'inCloudHeight' => 4500
],
'thunderstorm' => [
'intersectsAffectedPolygon' => true,
'intersectsCellPolygon' => false,
'severityThreshold' => 'MEDIUM',
'speedThreshold' => 20
],
'precipitation' => [
'intensities' => [
'LIGHT',
'MODERATE'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.iklim.co/v1/alarms/geometries/register"
payload := strings.NewReader("{\n \"registrationId\": \"f7587d9e-2481-4b4c-818d-c8d1946851b7\",\n \"recipientId\": \"Recipient 1\",\n \"boundary\": {\n \"cityId\": 6,\n \"districtId\": 557,\n \"neighborhoodId\": 55766\n },\n \"webhook\": {\n \"accountId\": \"2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1\",\n \"url\": \"https://api.customer.com/alerts/callback\",\n \"httpMethod\": \"POST\",\n \"contentType\": \"application/json\",\n \"authentication\": {\n \"type\": \"API_KEY\",\n \"username\": \"alert-user\",\n \"password\": \"******\"\n },\n \"requestHeaders\": {\n \"source\": \"iklim.co\",\n \"custom-header\": \"value\"\n },\n \"deliveryPolicy\": {\n \"timeout\": 60,\n \"maxRetries\": 3,\n \"retryDelay\": 10\n }\n },\n \"filter\": {\n \"lightning\": {\n \"type\": \"FLASH_CLOUD_TO_GROUND\",\n \"peakCurrent\": -12.5,\n \"inCloudHeight\": 4500\n },\n \"thunderstorm\": {\n \"intersectsAffectedPolygon\": true,\n \"intersectsCellPolygon\": false,\n \"severityThreshold\": \"MEDIUM\",\n \"speedThreshold\": 20\n },\n \"precipitation\": {\n \"intensities\": [\n \"LIGHT\",\n \"MODERATE\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.iklim.co/v1/alarms/geometries/register")
.header("Content-Type", "application/json")
.body("{\n \"registrationId\": \"f7587d9e-2481-4b4c-818d-c8d1946851b7\",\n \"recipientId\": \"Recipient 1\",\n \"boundary\": {\n \"cityId\": 6,\n \"districtId\": 557,\n \"neighborhoodId\": 55766\n },\n \"webhook\": {\n \"accountId\": \"2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1\",\n \"url\": \"https://api.customer.com/alerts/callback\",\n \"httpMethod\": \"POST\",\n \"contentType\": \"application/json\",\n \"authentication\": {\n \"type\": \"API_KEY\",\n \"username\": \"alert-user\",\n \"password\": \"******\"\n },\n \"requestHeaders\": {\n \"source\": \"iklim.co\",\n \"custom-header\": \"value\"\n },\n \"deliveryPolicy\": {\n \"timeout\": 60,\n \"maxRetries\": 3,\n \"retryDelay\": 10\n }\n },\n \"filter\": {\n \"lightning\": {\n \"type\": \"FLASH_CLOUD_TO_GROUND\",\n \"peakCurrent\": -12.5,\n \"inCloudHeight\": 4500\n },\n \"thunderstorm\": {\n \"intersectsAffectedPolygon\": true,\n \"intersectsCellPolygon\": false,\n \"severityThreshold\": \"MEDIUM\",\n \"speedThreshold\": 20\n },\n \"precipitation\": {\n \"intensities\": [\n \"LIGHT\",\n \"MODERATE\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.iklim.co/v1/alarms/geometries/register")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"registrationId\": \"f7587d9e-2481-4b4c-818d-c8d1946851b7\",\n \"recipientId\": \"Recipient 1\",\n \"boundary\": {\n \"cityId\": 6,\n \"districtId\": 557,\n \"neighborhoodId\": 55766\n },\n \"webhook\": {\n \"accountId\": \"2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1\",\n \"url\": \"https://api.customer.com/alerts/callback\",\n \"httpMethod\": \"POST\",\n \"contentType\": \"application/json\",\n \"authentication\": {\n \"type\": \"API_KEY\",\n \"username\": \"alert-user\",\n \"password\": \"******\"\n },\n \"requestHeaders\": {\n \"source\": \"iklim.co\",\n \"custom-header\": \"value\"\n },\n \"deliveryPolicy\": {\n \"timeout\": 60,\n \"maxRetries\": 3,\n \"retryDelay\": 10\n }\n },\n \"filter\": {\n \"lightning\": {\n \"type\": \"FLASH_CLOUD_TO_GROUND\",\n \"peakCurrent\": -12.5,\n \"inCloudHeight\": 4500\n },\n \"thunderstorm\": {\n \"intersectsAffectedPolygon\": true,\n \"intersectsCellPolygon\": false,\n \"severityThreshold\": \"MEDIUM\",\n \"speedThreshold\": 20\n },\n \"precipitation\": {\n \"intensities\": [\n \"LIGHT\",\n \"MODERATE\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"registrationId": "f7587d9e-2481-4b4c-818d-c8d1946851b7",
"recipientId": "Recipient 1",
"boundary": {
"cityId": 6,
"districtId": 557,
"neighborhoodId": 55766
},
"webhook": {
"accountId": "2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1",
"url": "https://api.customer.com/alerts/callback",
"httpMethod": "POST",
"contentType": "application/json",
"authentication": {
"username": "alert-user",
"password": "******"
},
"requestHeaders": {
"source": "iklim.co",
"custom-header": "value"
},
"deliveryPolicy": {
"timeout": 60,
"maxRetries": 3,
"retryDelay": 10
}
},
"filter": {
"lightning": {
"type": "FLASH_CLOUD_TO_GROUND",
"peakCurrent": -12.5,
"inCloudHeight": 4500
},
"thunderstorm": {
"intersectsAffectedPolygon": true,
"intersectsCellPolygon": false,
"severityThreshold": "MEDIUM",
"speedThreshold": 20
},
"precipitation": {
"intensities": [
"LIGHT",
"MODERATE"
]
}
},
"createdAt": "2025-01-01T10:15:30Z",
"updatedAt": "2025-01-01T11:15:30Z",
"warnings": [
"warning-1",
"warning-2"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}Create registration
Creates a registration with boundary, webhook and filters.
Webhook lifecycle
Only one webhook configuration is stored per account.
- First registration: Send the complete
webhookconfiguration withoutaccountId. The API associates and stores it for the authenticated user’s account. - Subsequent registrations: Obtain the account ID from
GET /v1/users/meand send only the account reference shown below.
{
"webhook": {
"accountId": "2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1"
}
}
The API verifies that a webhook exists for the account and reuses its stored URL, authentication, request headers, and delivery policy. If no webhook exists for the supplied accountId, the registration fails. Use the update operation to modify an existing webhook.
curl --request POST \
--url https://api.iklim.co/v1/alarms/geometries/register \
--header 'Content-Type: application/json' \
--data '
{
"registrationId": "f7587d9e-2481-4b4c-818d-c8d1946851b7",
"recipientId": "Recipient 1",
"boundary": {
"cityId": 6,
"districtId": 557,
"neighborhoodId": 55766
},
"webhook": {
"accountId": "2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1",
"url": "https://api.customer.com/alerts/callback",
"httpMethod": "POST",
"contentType": "application/json",
"authentication": {
"type": "API_KEY",
"username": "alert-user",
"password": "******"
},
"requestHeaders": {
"source": "iklim.co",
"custom-header": "value"
},
"deliveryPolicy": {
"timeout": 60,
"maxRetries": 3,
"retryDelay": 10
}
},
"filter": {
"lightning": {
"type": "FLASH_CLOUD_TO_GROUND",
"peakCurrent": -12.5,
"inCloudHeight": 4500
},
"thunderstorm": {
"intersectsAffectedPolygon": true,
"intersectsCellPolygon": false,
"severityThreshold": "MEDIUM",
"speedThreshold": 20
},
"precipitation": {
"intensities": [
"LIGHT",
"MODERATE"
]
}
}
}
'import requests
url = "https://api.iklim.co/v1/alarms/geometries/register"
payload = {
"registrationId": "f7587d9e-2481-4b4c-818d-c8d1946851b7",
"recipientId": "Recipient 1",
"boundary": {
"cityId": 6,
"districtId": 557,
"neighborhoodId": 55766
},
"webhook": {
"accountId": "2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1",
"url": "https://api.customer.com/alerts/callback",
"httpMethod": "POST",
"contentType": "application/json",
"authentication": {
"type": "API_KEY",
"username": "alert-user",
"password": "******"
},
"requestHeaders": {
"source": "iklim.co",
"custom-header": "value"
},
"deliveryPolicy": {
"timeout": 60,
"maxRetries": 3,
"retryDelay": 10
}
},
"filter": {
"lightning": {
"type": "FLASH_CLOUD_TO_GROUND",
"peakCurrent": -12.5,
"inCloudHeight": 4500
},
"thunderstorm": {
"intersectsAffectedPolygon": True,
"intersectsCellPolygon": False,
"severityThreshold": "MEDIUM",
"speedThreshold": 20
},
"precipitation": { "intensities": ["LIGHT", "MODERATE"] }
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
registrationId: 'f7587d9e-2481-4b4c-818d-c8d1946851b7',
recipientId: 'Recipient 1',
boundary: {cityId: 6, districtId: 557, neighborhoodId: 55766},
webhook: {
accountId: '2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1',
url: 'https://api.customer.com/alerts/callback',
httpMethod: 'POST',
contentType: 'application/json',
authentication: {type: 'API_KEY', username: 'alert-user', password: '******'},
requestHeaders: {source: 'iklim.co', 'custom-header': 'value'},
deliveryPolicy: {timeout: 60, maxRetries: 3, retryDelay: 10}
},
filter: {
lightning: {type: 'FLASH_CLOUD_TO_GROUND', peakCurrent: -12.5, inCloudHeight: 4500},
thunderstorm: {
intersectsAffectedPolygon: true,
intersectsCellPolygon: false,
severityThreshold: 'MEDIUM',
speedThreshold: 20
},
precipitation: {intensities: ['LIGHT', 'MODERATE']}
}
})
};
fetch('https://api.iklim.co/v1/alarms/geometries/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.iklim.co/v1/alarms/geometries/register",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'registrationId' => 'f7587d9e-2481-4b4c-818d-c8d1946851b7',
'recipientId' => 'Recipient 1',
'boundary' => [
'cityId' => 6,
'districtId' => 557,
'neighborhoodId' => 55766
],
'webhook' => [
'accountId' => '2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1',
'url' => 'https://api.customer.com/alerts/callback',
'httpMethod' => 'POST',
'contentType' => 'application/json',
'authentication' => [
'type' => 'API_KEY',
'username' => 'alert-user',
'password' => '******'
],
'requestHeaders' => [
'source' => 'iklim.co',
'custom-header' => 'value'
],
'deliveryPolicy' => [
'timeout' => 60,
'maxRetries' => 3,
'retryDelay' => 10
]
],
'filter' => [
'lightning' => [
'type' => 'FLASH_CLOUD_TO_GROUND',
'peakCurrent' => -12.5,
'inCloudHeight' => 4500
],
'thunderstorm' => [
'intersectsAffectedPolygon' => true,
'intersectsCellPolygon' => false,
'severityThreshold' => 'MEDIUM',
'speedThreshold' => 20
],
'precipitation' => [
'intensities' => [
'LIGHT',
'MODERATE'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.iklim.co/v1/alarms/geometries/register"
payload := strings.NewReader("{\n \"registrationId\": \"f7587d9e-2481-4b4c-818d-c8d1946851b7\",\n \"recipientId\": \"Recipient 1\",\n \"boundary\": {\n \"cityId\": 6,\n \"districtId\": 557,\n \"neighborhoodId\": 55766\n },\n \"webhook\": {\n \"accountId\": \"2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1\",\n \"url\": \"https://api.customer.com/alerts/callback\",\n \"httpMethod\": \"POST\",\n \"contentType\": \"application/json\",\n \"authentication\": {\n \"type\": \"API_KEY\",\n \"username\": \"alert-user\",\n \"password\": \"******\"\n },\n \"requestHeaders\": {\n \"source\": \"iklim.co\",\n \"custom-header\": \"value\"\n },\n \"deliveryPolicy\": {\n \"timeout\": 60,\n \"maxRetries\": 3,\n \"retryDelay\": 10\n }\n },\n \"filter\": {\n \"lightning\": {\n \"type\": \"FLASH_CLOUD_TO_GROUND\",\n \"peakCurrent\": -12.5,\n \"inCloudHeight\": 4500\n },\n \"thunderstorm\": {\n \"intersectsAffectedPolygon\": true,\n \"intersectsCellPolygon\": false,\n \"severityThreshold\": \"MEDIUM\",\n \"speedThreshold\": 20\n },\n \"precipitation\": {\n \"intensities\": [\n \"LIGHT\",\n \"MODERATE\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.iklim.co/v1/alarms/geometries/register")
.header("Content-Type", "application/json")
.body("{\n \"registrationId\": \"f7587d9e-2481-4b4c-818d-c8d1946851b7\",\n \"recipientId\": \"Recipient 1\",\n \"boundary\": {\n \"cityId\": 6,\n \"districtId\": 557,\n \"neighborhoodId\": 55766\n },\n \"webhook\": {\n \"accountId\": \"2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1\",\n \"url\": \"https://api.customer.com/alerts/callback\",\n \"httpMethod\": \"POST\",\n \"contentType\": \"application/json\",\n \"authentication\": {\n \"type\": \"API_KEY\",\n \"username\": \"alert-user\",\n \"password\": \"******\"\n },\n \"requestHeaders\": {\n \"source\": \"iklim.co\",\n \"custom-header\": \"value\"\n },\n \"deliveryPolicy\": {\n \"timeout\": 60,\n \"maxRetries\": 3,\n \"retryDelay\": 10\n }\n },\n \"filter\": {\n \"lightning\": {\n \"type\": \"FLASH_CLOUD_TO_GROUND\",\n \"peakCurrent\": -12.5,\n \"inCloudHeight\": 4500\n },\n \"thunderstorm\": {\n \"intersectsAffectedPolygon\": true,\n \"intersectsCellPolygon\": false,\n \"severityThreshold\": \"MEDIUM\",\n \"speedThreshold\": 20\n },\n \"precipitation\": {\n \"intensities\": [\n \"LIGHT\",\n \"MODERATE\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.iklim.co/v1/alarms/geometries/register")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"registrationId\": \"f7587d9e-2481-4b4c-818d-c8d1946851b7\",\n \"recipientId\": \"Recipient 1\",\n \"boundary\": {\n \"cityId\": 6,\n \"districtId\": 557,\n \"neighborhoodId\": 55766\n },\n \"webhook\": {\n \"accountId\": \"2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1\",\n \"url\": \"https://api.customer.com/alerts/callback\",\n \"httpMethod\": \"POST\",\n \"contentType\": \"application/json\",\n \"authentication\": {\n \"type\": \"API_KEY\",\n \"username\": \"alert-user\",\n \"password\": \"******\"\n },\n \"requestHeaders\": {\n \"source\": \"iklim.co\",\n \"custom-header\": \"value\"\n },\n \"deliveryPolicy\": {\n \"timeout\": 60,\n \"maxRetries\": 3,\n \"retryDelay\": 10\n }\n },\n \"filter\": {\n \"lightning\": {\n \"type\": \"FLASH_CLOUD_TO_GROUND\",\n \"peakCurrent\": -12.5,\n \"inCloudHeight\": 4500\n },\n \"thunderstorm\": {\n \"intersectsAffectedPolygon\": true,\n \"intersectsCellPolygon\": false,\n \"severityThreshold\": \"MEDIUM\",\n \"speedThreshold\": 20\n },\n \"precipitation\": {\n \"intensities\": [\n \"LIGHT\",\n \"MODERATE\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"registrationId": "f7587d9e-2481-4b4c-818d-c8d1946851b7",
"recipientId": "Recipient 1",
"boundary": {
"cityId": 6,
"districtId": 557,
"neighborhoodId": 55766
},
"webhook": {
"accountId": "2f04f1b5-1c0a-4c4e-b0a7-0ba6e9b7f2e1",
"url": "https://api.customer.com/alerts/callback",
"httpMethod": "POST",
"contentType": "application/json",
"authentication": {
"username": "alert-user",
"password": "******"
},
"requestHeaders": {
"source": "iklim.co",
"custom-header": "value"
},
"deliveryPolicy": {
"timeout": 60,
"maxRetries": 3,
"retryDelay": 10
}
},
"filter": {
"lightning": {
"type": "FLASH_CLOUD_TO_GROUND",
"peakCurrent": -12.5,
"inCloudHeight": 4500
},
"thunderstorm": {
"intersectsAffectedPolygon": true,
"intersectsCellPolygon": false,
"severityThreshold": "MEDIUM",
"speedThreshold": 20
},
"precipitation": {
"intensities": [
"LIGHT",
"MODERATE"
]
}
},
"createdAt": "2025-01-01T10:15:30Z",
"updatedAt": "2025-01-01T11:15:30Z",
"warnings": [
"warning-1",
"warning-2"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}{
"timestamp": "YYYY-mm-DDTHH:MM:SS.nnnnnnnnn",
"status": "XXX",
"error": "Error Name",
"message": "Error Message",
"path": "/endpoint/uri/here",
"messages": [
"<string>"
]
}Body
Registration payload (boundary, webhook, and filters)
Registration UUID
"f7587d9e-2481-4b4c-818d-c8d1946851b7"
Recipient identifier. The recipient ID must be unique and comply with the US-ASCII character set.
"Recipient 1"
Alarm registration boundary
Defines the geographic scope to monitor for alarm conditions. The concrete boundary type is selected via the type discriminator field; supply only the fields that belong to the chosen subtype.
- ADMINISTRATIVE – boundary identified by city (
cityId), district (districtId), and optionally neighborhood (neighborhoodId). - POLYGON – arbitrary closed polygon defined by a list of exterior ring coordinates (WGS84).
- H3INDEX – boundary defined by a single Uber H3 cell address.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Webhook configuration
Show child attributes
Show child attributes
Alarm filters
Show child attributes
Show child attributes
Response
OK
Registration response (timestamps and warnings)
Registration UUID
"f7587d9e-2481-4b4c-818d-c8d1946851b7"
Recipient identifier. The recipient ID must be unique and comply with the US-ASCII character set.
"Recipient 1"
Alarm registration boundary
Defines the geographic scope to monitor for alarm conditions. The concrete boundary type is selected via the type discriminator field; supply only the fields that belong to the chosen subtype.
- ADMINISTRATIVE – boundary identified by city (
cityId), district (districtId), and optionally neighborhood (neighborhoodId). - POLYGON – arbitrary closed polygon defined by a list of exterior ring coordinates (WGS84).
- H3INDEX – boundary defined by a single Uber H3 cell address.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Webhook configuration
Show child attributes
Show child attributes
Alarm filters
Show child attributes
Show child attributes
Creation time
"2025-01-01T10:15:30Z"
Last update time
"2025-01-01T11:15:30Z"
Warnings
["warning-1", "warning-2"]