Skip to main content

Configure Notifications (Webhook)

You can configure notifications via UI (recommended) or API. These notifications are referenced by the notificationIds field when you trigger executions.

Configure via UI (Notifications Tab)

  1. Access canary.voidr.co/settings?tab=settings
  2. Go to the Notifications tab
  3. Register a Webhook (your endpoint URL) and enable it
When using the canary environment for UI, ensure you’re in the same environment/organization that will be used for API executions (so the IDs match).

View Registered Notifications (IDs)

The response includes a pipelineNotifications array with id fields. This is the id you use in notificationIds.
curl -sS -X GET "$API_URL/customer-configs" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Accept: application/json"

Example: Extract Webhook ID by URL

Using jq to find a webhook ID by its URL:
WEBHOOK_URL="https://your-endpoint.example/webhook/voidr"

WEBHOOK_NOTIFICATION_ID=$(
  curl -sS -X GET "$API_URL/customer-configs" \
    -H "Authorization: Bearer $ACCESS_TOKEN" \
    -H "Accept: application/json" \
  | jq -r --arg url "$WEBHOOK_URL" '
      ((.data.pipelineNotifications // .pipelineNotifications // [])[])
      | select(.platform == "WEBHOOK" and .webhook == $url)
      | .id
    ' \
  | head -n 1
)

echo "$WEBHOOK_NOTIFICATION_ID"

Register/Update Notifications via API

You update the entire list via:
This PUT request replaces the entire pipelineNotifications list. To avoid losing existing notifications, first do a GET $API_URL/customer-configs, preserve what already exists, and then send the complete updated list.
curl -sS -X PUT "$API_URL/customer-configs/notifications" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "pipelineNotifications": [
      {
        "platform": "WEBHOOK",
        "label": "My Webhook",
        "webhook": "https://your-endpoint.example/webhook/voidr",
        "enabled": true,
        "reportMode": "FULL"
      }
    ]
  }'

Example: Email Notification

{
  "platform": "EMAIL",
  "label": "CI Alerts",
  "emails": ["qa@company.com", "dev@company.com"],
  "enabled": true,
  "reportMode": "FULL"
}

Next Steps

Once notifications are configured, you can reference them when executing tests using the notificationIds parameter.