---
title: "Message variable catalog"
method: GET
path: "/api/v1/journeys/{journeyId}/message-variables"
tags: ["Journeys"]
---

# Message variable catalog

`GET /api/v1/journeys/{journeyId}/message-variables`

List the variables a SEND_MESSAGE template binding can reference for a journey — the same set the builder offers. Bind a template placeholder to one of the returned `path` values (custom person attributes are `person.<key>`, NOT `attributes.<key>` — that is the DECISION/CASE condition syntax). Pass a journey id or its initiative id.

## Path parameters

- `journeyId` string, required — A journey id, or the initiative id (resolves to its current draft).

## Response `200`

Success

- object
  - `groups` object[], required
    - `id` string, required
    - `label` string, required
    - `description` string
    - `variables` object[], required
      - `key` string, required
      - `label` string, required
      - `path` string, required — Bind a placeholder to this exact value, e.g. person.bank.
      - `description` string

## Other responses

- `400` — Validation failed or the request cannot proceed.
- `401` — Missing, malformed, or revoked API key.
- `404` — The resource does not exist in this organization.
- `409` — Conflicts with the current state (duplicates, wrong lifecycle state).
- `422` — The request is well-formed but semantically invalid.
- `429` — Rate limit exceeded — retry after `Retry-After`.
- `500` — Internal server error.
- `503` — Transient error — retry with a narrower request.

---

[API](https://skmtc.net/useboom/apis/boom-api.md) · [All operations](https://skmtc.net/useboom/apis/boom-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/useboom/boom-api/revisions/00f873e07076/schema)
