Skip to main content

What an item resolves to

GET /v1/products/{id}/message-plan
GET /v1/experiences/{id}/message-plan
GET /v1/bundles/{id}/message-plan

Answers "what does a customer booking this actually receive?" โ€” the winning plan plus the chain it resolved through.

EndpointScope
/v1/products/{id}/message-planproducts:read
/v1/experiences/{id}/message-planexperiences:read
/v1/bundles/{id}/message-planbundles:read

Exampleโ€‹

curl "https://app.equipdash.com/api/v1/products/91/message-plan" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"data": {
"item": { "type": "product", "id": 91, "name": "Touring kayak" },
"follows": "Rentals",
"source_scope": "rentals",
"chain": [
{ "level": "item", "label": "Touring kayak", "plan_id": null, "exists": false, "winner": false },
{ "level": "rentals", "label": "Rentals", "plan_id": 8, "exists": true, "winner": true },
{ "level": "all", "label": "All bookings", "plan_id": 3, "exists": true, "winner": false }
],
"plan": {
"id": 8,
"scope": "rentals",
"label": "Rentals",
"owner": null,
"enabled": true,
"messages": [ /* โ€ฆ */ ]
}
},
"meta": { "request_id": "req_01J...", "timestamp": "2026-08-09T04:20:00+00:00" }
}

Reading the responseโ€‹

FieldMeaning
followsPlain-English name of the winning level โ€” show this to a user
source_scopeWhich level won: item, rentals, experiences, bundles or all
chainEvery level considered, most specific first
planThe winning plan with its messages, or null if nothing is set up

Each chain entry carries:

  • exists โ€” whether a plan is set up at that level
  • winner โ€” whether it is the one that applies
  • plan_id โ€” the plan at that level, or null

A level whose plan is switched off reports exists: false and is skipped, so the chain always shows what will really happen rather than what exists in the database.

plan: null with no winner anywhere means nothing is set up at any level and this item currently sends nothing beyond the system emails.

Programsโ€‹

A booking that is part of a program takes the program's plan and nothing else. Read it through the program endpoints โ€” see Program Messages.