List Agent Macros
GET/api/support/agent/macros
Lists the macros the calling agent may use: every shared macro plus the caller's own private ones, sorted by name. No filters or pagination. The bodies are returned with their {{placeholder}} tokens still in place — call Render Agent Macro to get them filled in for a specific ticket.
support:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Response fields (each entry in data[])
id(integer),name(string)shortcut(string, nullable) — the lower-case/shortcutthat inserts the macro, unique across macrosbody_html(string) — the reply body as HTML, placeholders unrenderedbody_text(string) — the same body as plain textactions(object, nullable) — ticket changes the macro suggests when used:status(open | in_progress | waiting_on_customer | awaiting_release | resolved | closed),priority(low | medium | high | urgent),type(bug | question | feature_request | billing),group_key(a configured group key),add_tags[](up to 10 tags). Only the keys the author set are present. The macro never applies them itself — send them through Update Agent Ticket.is_shared(boolean) — visible to every agent; private macros are only returned to their authorcreated_by({id, name}, nullable)is_mine(boolean) — the caller authored itcreated_at,updated_at(ISO-8601)
Placeholders ({{name}}, case-insensitive, optional spaces inside the braces; an unknown placeholder renders as an empty string):
{{ticket.id}}— the ticket id, e.g. 2451{{ticket.number}}— the ticket reference, e.g. #2451{{ticket.subject}}— the ticket subject{{ticket.status}}— the current status label (e.g. In progress){{ticket.priority}}— the current priority label (e.g. High){{requester.name}}— the requester's full name{{requester.first_name}}— the requester's first name{{requester.email}}— the requester's email address{{agent.name}}— the rendering agent's display name{{agent.first_name}}— the rendering agent's first name{{agent.signature}}— the rendering agent's signature (empty when none is set){{tenant.id}}— the tenant id{{tenant.name}}— the tenant name (falls back to the tenant id)
Authentication: Bearer token with the support:read scope, or an authenticated session, from a caller with an active support role (any role, including viewer). No tenant context — this endpoint is central.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthorized
Response Headers
Forbidden
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.