Skip to content

Webhooks

When you configure an HTTP notification method, Angelcam sends a signed POST request to your URL whenever a notification rule fires.

The body is a JSON object. All notifications include these common fields:

FieldDescription
user_nameName of the user
user_emailEmail of the user
titleNotification title
short_descriptionShort description
long_descriptionLong description

Additional fields by notification type:

Incident notifications:

FieldDescription
incident_idID of the incident
incident_categoryCategory of the incident
sensor_nameName of the triggering sensor
incident_false_alarmtrue / false / null (unknown)

Action notifications:

FieldDescription
actionAction that was performed
invokerWho performed the action

Camera status notifications:

FieldDescription
camera_idCamera ID
camera_nameCamera name
onlinetrue if online

Arrow client status notifications:

FieldDescription
arrow_client_idArrow client ID
angelbox_idAngelbox ID (if applicable)
mac_addressMAC address
onlinetrue if online
affected_camerasList of affected camera IDs

Each request includes an X-Angelcam-Signature header containing a JWT token signed with the private key you provided when creating the notification method.

The JWT claims:

ClaimDescription
iatIssued at timestamp
nbfNot before (60 seconds in the past)
expExpiration (120 seconds in the future)
verToken version (currently 1)
csmBase64-encoded SHA-256 hash of the request body

Verify the signature using your private key and confirm that csm matches the body hash to ensure the request is authentic and untampered.