Payment Plan Event
Whenever a resident's payment plan is created, updated, or cancelled in EliseAI, we will post the event to your registered webhook. A payment plan is a set of scheduled installments, each of which is a promise to pay; individual installment transitions are delivered through the promise_to_pay_event webhook.
Webhooks can be registered at the organization level or the property level. Please reach out to the EliseAI support team to register your webhooks.
Event Types:
- payment_plan.created: Posted whenever a new payment plan is created for a lease
- payment_plan.updated: Posted whenever an existing payment plan's installments or cadence change
- payment_plan.cancelled: Posted whenever a payment plan is cancelled
Each delivery includes an X-Signature header: an HMAC SHA-256 hex digest of the JSON request body, signed with your registered webhook secret.
elise_property_id is the property_id used by the Leases API, and external_lease_id identifies the lease the plan belongs to: for AIP properties where EliseAI is the system of record it matches the lease id returned by GET /v2/leases/properties/{property_id}/leases; for PMS-synced leases it is the external/PMS lease id. resident_uuid matches the resident UUID returned by the Residents API.
Payment plan events will include:
- event_id: Unique identifier for the event. Use this for idempotency/deduplication.
- event_type: The type of event that occurred. One of payment_plan.created, payment_plan.updated, or payment_plan.cancelled.
- event_date: Date and time of the event
- elise_property_id: Elise identifier for the property
- external_lease_id: Lease identifier the payment plan belongs to
- resident_uuid: Resident UUID from the residents API for the resident the plan belongs to
- payment_plan_id: Identifier of the payment plan, shared by every installment of the plan
- cadence_type: How the installments are spaced (for example weekly or biweekly). Null for a plan with no cadence.
- total_amount: Sum of the promised amounts across all installments
- installments: The installments of the plan, in chronological order. Each installment has the same shape as a promise_to_pay_event payload.
Payload
Example payload
{
"event_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event_type": "payment_plan.created",
"event_date": "2026-06-30T12:00:00Z",
"elise_property_id": "12345",
"external_lease_id": "550e8400-e29b-41d4-a716-446655440000",
"resident_uuid": "7f1f0f6c-4c1a-4f4e-9a2e-9f4bbf6f1a11",
"payment_plan_id": 98765,
"cadence_type": "weekly",
"total_amount": 1500.5,
"installments": [
{
"event_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event_type": "promise_to_pay.created",
"event_date": "2026-06-30T12:00:00Z",
"elise_property_id": "12345",
"external_lease_id": "550e8400-e29b-41d4-a716-446655440000",
"external_account_id": "A-1001",
"resident_uuid": "7f1f0f6c-4c1a-4f4e-9a2e-9f4bbf6f1a11",
"amount_promised": 750.25,
"to_pay_by_start": "2026-07-01T00:00:00Z",
"to_pay_by_end": "2026-07-05T23:59:59Z",
"promise_accepted": true,
"date_fulfilled": "2026-07-03",
"cancellation_reason": "canceled_through_crm",
"payment_plan_id": 98765
}
]
}Response
Successful Response
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.