Create, update and remove a plan
All three require settings:write.
Create a planโ
POST /v1/message-plans
Giving a level its own plan is how it stops following its parent.
Bodyโ
| Field | Type | Required | Description |
|---|---|---|---|
scope | string | yes | all, rentals, experiences, bundles or item |
owner_type | string | with scope=item | product, experience, bundle or program |
owner_id | integer | with scope=item | the item's id |
enabled | boolean | no | defaults to true |
copy_from_parent | boolean | no | defaults to true โ see below |
Copy from parentโ
By default a new plan starts as a copy of the one it was following, because overriding a level means "carry on from here", not "start from nothing". Pass copy_from_parent: false for an empty plan.
A rentals plan copies from all-bookings. A product's plan copies from rentals, or from all-bookings if there is no rentals plan.
curl -X POST "https://app.equipdash.com/api/v1/message-plans" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "scope": "rentals" }'
Returns 201 with the new plan and its copied messages.
If that level already has a plan you get 409 already_exists โ read it and patch it instead.
Switch a plan on or offโ
PATCH /v1/message-plans/{id}
curl -X PATCH "https://app.equipdash.com/api/v1/message-plans/8" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "enabled": false }'
A switched-off plan does not win resolution โ anything following it falls through to the next level up. That is the difference between pausing a level and removing it: pausing keeps the messages, and the level below carries on as if the plan were never there.
| Field | Type | Required |
|---|---|---|
enabled | boolean | yes |
Stop overridingโ
DELETE /v1/message-plans/{id}
Removes the plan and its messages; whatever followed it goes back to inheriting from the level above.
curl -X DELETE "https://app.equipdash.com/api/v1/message-plans/8" \
-H "Authorization: Bearer YOUR_API_KEY"
Returns 204.
The all-bookings plan cannot be removed โ it is what every other level falls back to. Attempting it returns 422 cannot_remove_default. Switch it off instead if you want nothing sent.
Sends that already went out are unaffected; a booking's message history keeps them.