Event Types
Hermon emits webhook events across contracts, payments, and appointments. Each event shares a common envelope with an event-specific data object.
Contract Events
CONTRACT_SIGNEDContracts Fired when a client signs a contract.
Top-level Fields
| Field | Type | Description |
|---|---|---|
| contract_id | string | UUID of the contract |
| contract_type | string | Contract type (e.g. STANDARD) |
| total_value | number | null | Total contract value in major currency units |
| currency | string | ISO 4217 currency code (e.g. USD) |
| status | string | Current contract status (e.g. SIGNED) |
| signed_at | string | ISO 8601 timestamp of signing |
| sent_at | string | null | ISO 8601 timestamp of when the contract was sent |
| created_at | string | ISO 8601 timestamp of contract creation |
lead object
| Field | Type | Description |
|---|---|---|
| id | string | UUID of the lead |
| first_name | string | Lead's first name |
| last_name | string | Lead's last name |
| full_name | string | Concatenated first + last name |
| string | Lead's email address | |
| phone_e164 | string | null | Phone number in E.164 format |
| source | string | Lead source enum (e.g. LANDING_PAGE) |
program object
| Field | Type | Description |
|---|---|---|
| id | string | UUID of the program |
| name | string | Program display name |
| price | number | Program price in major currency units |
| payment_type | string | PIF, INSTALMENT, SUBSCRIPTION, etc. |
| billing_interval | string | null | Billing cycle — null for one-time payments |
subscription object | null
| Field | Type | Description |
|---|---|---|
| id | string | UUID of the subscription |
| billing_interval | string | Billing cycle (e.g. MONTHLY, WEEKLY) |
| amount_per_cycle | number | Amount charged per cycle in major currency units |
| currency | string | ISO 4217 currency code |
| status | string | Subscription status (e.g. ACTIVE, CANCELLED) |
| payment_provider | string | Payment provider (e.g. STRIPE) |
| billing_cycles_paid | number | Number of billing cycles successfully charged |
| total_collected | number | Total amount collected so far in major currency units |
| current_period_start | string | null | ISO 8601 start of current billing period |
| current_period_end | string | null | ISO 8601 end of current billing period |
| next_billing_date | string | null | ISO 8601 date of the next scheduled charge |
| started_at | string | null | ISO 8601 timestamp of when the subscription started |
Example Payload
json
{
"event_type": "CONTRACT_SIGNED",
"event_id": "evt_01j9abc123",
"org_id": "org_2abc",
"created_at": "2026-04-08T12:00:00.000Z",
"data": {
"contract_id": "uuid",
"contract_type": "STANDARD",
"total_value": 5000.00,
"currency": "USD",
"status": "SIGNED",
"signed_at": "2026-04-08T12:00:00.000Z",
"sent_at": "2026-04-08T11:00:00.000Z",
"created_at": "2026-04-08T10:00:00.000Z",
"lead": {
"id": "uuid",
"first_name": "John",
"last_name": "Smith",
"full_name": "John Smith",
"email": "john@example.com",
"phone_e164": "+14155552671",
"source": "LANDING_PAGE"
},
"program": {
"id": "uuid",
"name": "12-Week Coaching",
"price": 5000.00,
"payment_type": "PIF",
"billing_interval": null
},
"subscription": {
"id": "uuid",
"billing_interval": "MONTHLY",
"amount_per_cycle": 1500.00,
"currency": "USD",
"status": "ACTIVE",
"payment_provider": "STRIPE",
"billing_cycles_paid": 1,
"total_collected": 1500.00,
"current_period_start": "2026-04-08T12:00:00.000Z",
"current_period_end": "2026-05-08T12:00:00.000Z",
"next_billing_date": "2026-05-08T12:00:00.000Z",
"started_at": "2026-04-08T12:00:00.000Z"
}
}
}