{"slug":"iot-halowerk-com-v1-device-auth-d8969a","title":"Canonicalizes device_id, nonce and message, computes an HMAC-SHA256 tag with cal","host":"iot.halowerk.com","method":"POST","resource":"https://iot.halowerk.com/v1/device-auth","category":"commerce","description":"Canonicalizes device_id, nonce and message, computes an HMAC-SHA256 tag with caller-supplied ephemeral key material, and optionally compares a claimed tag in constant time. It does not provision devices, store keys or replace asymmetric device identity; do not submit long-lived production secrets.","price_listed":0.002,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":2,"reported_payers_30d":2,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"device_id":"sensor-berlin-17","ephemeral_key":"example-ephemeral-key-2026","message":"boot:4.2.1","nonce":"20260831-0001"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"claimed_tag_hex":{"pattern":"^[0-9a-fA-F]{64}$","type":"string"},"device_id":{"description":"Stable device identifier.","maxLength":128,"minLength":1,"type":"string"},"ephemeral_key":{"description":"Ephemeral HMAC key; long-lived production keys must not be sent.","maxLength":512,"minLength":16,"type":"string"},"message":{"description":"Challenge payload.","maxLength":4096,"minLength":1,"type":"string"},"nonce":{"description":"Fresh caller-generated challenge nonce.","maxLength":256,"minLength":8,"type":"string"}},"required":["device_id","nonce","message","ephemeral_key"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"Canonicalizes device_id, nonce and message, computes an HMAC-SHA256 tag with caller-supplied ephemeral key material, and optionally compares a claimed tag in constant time. It does not provision devices, store keys or replace asymmetric device identity; do not submit long-lived production secrets.","last_updated":"2026-09-15T06:11:08.014Z","schemes":["exact"]}