This document explains the core data entities in Unhook and how they relate to each other.
The primary entity that manages webhook routing and configuration.
Unique identifier with ‘t’ prefix
Client identifier for routing
Associated webhook ID
Local port to deliver requests to
Current webhook status. Can be ‘active’ or ‘inactive’
Connection status. Can be ‘connected’ or ‘disconnected’
Webhook configuration object
Owner user ID
Organization ID
Represents a webhook notification received by the system.
Unique identifier with ‘evt’ prefix
Associated webhook ID
Original incoming webhook data (RequestPayload)
Current status. Can be ‘pending’, ‘processing’, ‘completed’, or ‘failed’
Number of retry attempts made
Maximum allowed retries
Failure explanation if applicable
When the event was received (ISO date string)
Represents an attempt to deliver a webhook to a local development environment.
Unique identifier with ‘req’ prefix
Associated webhook ID
Associated event ID
Associated webhook ID
Active connection ID if applicable
Request details (RequestPayload)
Current status. Can be ‘pending’, ‘completed’, or ‘failed’
Response if completed (ResponsePayload)
Response time in milliseconds
When the request was made (ISO date string)
When the request completed (ISO date string)
Unique request identifier
HTTP method used
Request URL
HTTP headers as key-value pairs
Request size in bytes
Base64 encoded request body
Unix timestamp of the request
Content-Type of the request
IP address of the client
Webhook Reception
Processing
Completion
API keys are required for webhook reception and authentication
Sensitive headers can be redacted via configuration
Request/response body size limits enforced
Organization-level isolation of data
User-level access control to resources