This page documents the D.1โD.4 lifecycle notification settings. Verify exact field names and PATCH
semantics against the final SettingsController implementation before publishing.
Lifecycle Notification Settings
Read and update the customer lifecycle communication settings: pre-arrival messages, post-rental survey options, and the overdue-rental extension offer. These settings correspond to the Customer Lifecycle card in Settings โ Notifications in the web UI.
Endpointsโ
| Method | Endpoint | Description | Scope |
|---|---|---|---|
GET | /v1/settings/lifecycle | Get lifecycle notification settings | settings:read |
PATCH | /v1/settings/lifecycle | Update lifecycle notification settings | settings:write |
GET /v1/settings/lifecycleโ
Example Requestโ
curl "https://app.equipdash.com/api/v1/settings/lifecycle" \
-H "Authorization: Bearer YOUR_API_KEY"
Response (200 OK)โ
{
"data": {
"pre_arrival": {
"enabled": true,
"lead_hours": 24,
"directions": "We're at 12 Harbour St, Level 1. Parking under the building โ enter from Bay Rd. Call us if you can't find it."
},
"overdue_extension": {
"enabled": true,
"grace_minutes": 15
}
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-04-01T09:00:00Z"
}
}
Response Fieldsโ
pre_arrival objectโ
| Field | Type | Description |
|---|---|---|
enabled | boolean | Whether pre-arrival messages fire automatically |
lead_hours | integer | How many hours before pickup/start the message is sent. Range 1โ168. Default 24. |
directions | string|null | Directions and parking blurb included in the message. Max 1000 chars. |
overdue_extension objectโ
| Field | Type | Description |
|---|---|---|
enabled | boolean | Whether overdue notices include a one-tap extension offer |
grace_minutes | integer | Minutes after scheduled return before the overdue notice fires. Range 0โ1440. Default 15. |
overdue_extension.enabled only adds the extension link when Allow customers to extend online
is also enabled in the rental settings. If online extensions are off, the link is omitted from
overdue notices regardless of this flag.
PATCH /v1/settings/lifecycleโ
Update any subset of lifecycle notification settings. Only the fields you include are changed.
Authenticationโ
Requires settings:write scope.
Request Bodyโ
All fields are optional. Omit any field you do not want to change.
{
"pre_arrival": {
"enabled": true,
"lead_hours": 48,
"directions": "Find us at the blue shed on the marina. Free parking on Slip Rd."
},
"overdue_extension": {
"enabled": true,
"grace_minutes": 30
}
}
Request Fieldsโ
| Field | Type | Validation |
|---|---|---|
pre_arrival.enabled | boolean | โ |
pre_arrival.lead_hours | integer | 1โ168 |
pre_arrival.directions | string|null | Max 1000 chars. Pass null to clear. |
overdue_extension.enabled | boolean | โ |
overdue_extension.grace_minutes | integer | 0โ1440 |
Example Requestโ
curl -X PATCH "https://app.equipdash.com/api/v1/settings/lifecycle" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pre_arrival": {
"enabled": true,
"lead_hours": 48
}
}'
Response (200 OK)โ
Returns the full updated lifecycle settings object in the same shape as GET /v1/settings/lifecycle.
Survey Clean-Return Gateโ
The survey-level Only send after a clean return setting is per-survey, not a global setting. It is read and written via the surveys API:
GET /v1/surveys/{id}
PATCH /v1/surveys/{id}
Relevant survey fields:
| Field | Type | Description |
|---|---|---|
skip_if_returned_damaged | boolean | When true, surveys triggered by "After equipment return" are skipped if any item was returned in Poor or Damaged condition. Default true for return-triggered surveys. |
delivery_channel | string | "email", "sms", or "email_and_sms". Controls how the survey is delivered. |
See Surveys API for the full surveys endpoint reference.
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks settings:read or settings:write |
| 422 | validation_error | A field failed validation (details in error.details) |
Related Settingsโ
- Get Settings โ full business settings including enabled modules
- Supplier Modules โ check whether online extensions (
online_extend_enabled) are on - Surveys API โ per-survey delivery channel and clean-return gate
- Webhooks Events โ
booking.damage_charge.paidand other lifecycle events