Skip to main content

Webhooks API

Retrieve webhook configuration for a form and inspect delivery logs.
Webhooks are configured in form settings. Use the Forms API to update webhook URLs via PATCH /api/v1/forms/{formId}.

Get Webhooks & Logs

curl https://www.zevform.com/api/v1/forms/{formId}/webhooks \
  -H "Authorization: Bearer zev_your_api_key"

Query Parameters

ParameterTypeDefaultDescription
limitnumber50Number of log entries to return (max: 100)
offsetnumber0Pagination offset
statusstringFilter logs: success (2xx) or failed (4xx/5xx/null)

Response

{
  "data": {
    "webhooks": [
      {
        "url": "https://example.com/webhook",
        "enabled": true,
        "events": ["submission.created"]
      }
    ],
    "logs": [
      {
        "id": "log_001",
        "form_id": "form_abc123",
        "webhook_url": "https://example.com/webhook",
        "status_code": 200,
        "response_body": "{\"ok\":true}",
        "error": null,
        "created_at": "2026-03-28T15:30:00Z",
        "response_id": "resp_001"
      },
      {
        "id": "log_002",
        "form_id": "form_abc123",
        "webhook_url": "https://example.com/webhook",
        "status_code": 500,
        "response_body": "Internal Server Error",
        "error": null,
        "created_at": "2026-03-28T14:20:00Z",
        "response_id": "resp_002"
      }
    ]
  },
  "meta": {
    "total": 156,
    "limit": 50,
    "offset": 0
  }
}

Filtering Logs

Get only failed deliveries:
curl "https://www.zevform.com/api/v1/forms/{formId}/webhooks?status=failed" \
  -H "Authorization: Bearer zev_your_api_key"

Webhook Events

EventDescription
submission.createdFired when a new response is submitted

Configuring Webhooks

Update webhook URLs via the Forms API:
curl -X PATCH https://www.zevform.com/api/v1/forms/{formId} \
  -H "Authorization: Bearer zev_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "webhooks": [
        {
          "url": "https://example.com/webhook",
          "enabled": true
        }
      ]
    }
  }'