> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://catena.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://catena.ferndocs.com/_mcp/server.

# Webhook created

POST 

Emitted when a webhook subscription is created.

Reference: https://catena.ferndocs.com/api-reference/notifications/webhook-events/webhook-created

## Request

### Payload

- `version` (string, required) — Version of the schema used for this event
- `data` (list of BaseWebhookEvent, required) — The event payload, with one or more records of the specified type
- `webhook_id` (string, required) — Unique identifier for the webhook subscription that triggered this delivery
- `event_name` (string, optional, default: webhook.created)
- `timestamp` (datetime, optional, nullable) — ISO 8601 timestamp when the event occurred
- `id` (string, optional, nullable) — Unique identifier for this specific event instance (UUID v7 for time-ordered sorting)
- `delivery_attempt` (integer, optional, default: 0) — The number of times the event has been attempted to be delivered

## Types

### BaseWebhookEvent

Base webhook event.

- `id` (string, required) — The ID of the webhook
- `url` (string, required) — The URL we will send the event to
- `event_name` (enum, required) — The name of the event
  - Allowed values: `document.added`, `document.modified`, `document.*`, `dvir_log.added`, `dvir_log.modified`, `dvir_log.removed`, `dvir_log.*`, `driver_safety_event.added`, `driver_safety_event.modified`, `driver_safety_event.removed`, `driver_safety_event.*`, `driver_vehicle_association.added`, `driver_vehicle_association.modified`, `driver_vehicle_association.*`, `trailer_vehicle_association.added`, `trailer_vehicle_association.modified`, `trailer_vehicle_association.*`, `invitation.created`, `invitation.rejected`, `invitation.declined`, `invitation.viewed`, `invitation.sent`, `invitation.accepted`, `invitation.expired`, `invitation.deleted`, `invitation.*`, `connection.created`, `connection.staled`, `connection.*`, `fleet_connection.created`, `fleet_connection.*`, `fleet_info.added`, `fleet_info.modified`, `fleet_info.removed`, `fleet_info.*`, `share_agreement.created`, `share_agreement.updated`, `share_agreement.deleted`, `share_agreement.*`, `webhook.created`, `webhook.updated`, `webhook.deleted`, `webhook.staled`, `webhook.activated`, `webhook.paused`, `webhook.*`, `workflow.added`, `workflow.modified`, `workflow.removed`, `workflow.*`, `tsp.created`, `tsp.requested`, `vehicle.added`, `vehicle.modified`, `vehicle.removed`, `vehicle.*`, `trailer.added`, `trailer.modified`, `trailer.removed`, `trailer.*`, `trailer_location.added`, `trailer_location.modified`, `trailer_location.*`, `trailer_status.added`, `trailer_status.modified`, `trailer_status.*`, `execution.created`, `execution.staled`, `execution.failed`, `execution.*`, `schedule.deactivated`, `schedule.*`, `user.added`, `user.modified`, `user.removed`, `user.*`, `vehicle_location.added`, `vehicle_location.*`, `ifta_summary.added`, `ifta_summary.modified`, `ifta_summary.removed`, `ifta_summary.*`, `hos_availability.added`, `hos_availability.modified`, `hos_availability.removed`, `hos_availability.*`, `hos_daily_log.added`, `hos_daily_log.modified`, `hos_daily_log.*`, `hos_daily_snapshot.added`, `hos_daily_snapshot.modified`, `hos_daily_snapshot.removed`, `hos_daily_snapshot.*`, `hos_event.added`, `hos_event.modified`, `hos_event.removed`, `hos_event.*`, `hos_violation.added`, `hos_violation.modified`, `hos_violation.removed`, `hos_violation.*`, `engine_log.added`, `engine_log.modified`, `engine_log.removed`, `engine_log.*`, `engine_status.added`, `engine_status.modified`, `engine_status.*`, `group_message.added`, `group_message.modified`, `group_message.*`, `message.added`, `message.modified`, `message.*`, `fuel_transaction.added`, `fuel_transaction.modified`, `fuel_transaction.*`, `geofence_monitor.created`, `geofence_monitor.departed`, `geofence_monitor.arrived`, `geofence_monitor.completed`, `geofence_monitor.cancelled`, `geofence_monitor.expired`, `geofence_monitor.*`, `resource_operation.created`, `resource_operation.succeeded`, `resource_operation.failed`, `resource_operation.*`
- `status` (enum, required) — The status of the webhook
  - Allowed values: `active`, `paused`, `stale`, `deleted`
- `filters` (WebhookFilters, optional, nullable) — The filters applied to the webhook

### WebhookFilters

Webhook filters

- `fleet_ids` (list of string, optional, nullable) — Filter by the IDs of the fleets
- `fleet_refs` (list of string, optional, nullable) — Filter by the references of the fleets. The reference is the ID of the fleet in the partner's system.
- `content` (map from string to list of string, optional, nullable) — Filter delivered records by their content. Each key is a field in the event record mapped to a list of accepted values: a record matches a key if that field equals any one of the listed values (OR within a key), and all keys must match (AND across keys). A record is delivered only if every key matches; records missing a filtered key are not delivered, and a key mapped to an empty list imposes no constraint. If no records in an event match, nothing is sent. Values are compared as strings.