List email template types

Overview

List every email-template type from the catalog merged with the company's own override flags (enabled state, delivery method, logo visibility, customised flag). Platform-owned types are hidden for non-platform companies.

Prerequisites

  • A bearer token. Callable with Partner and Account tokens.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

POST /api/v1/account/white-label/email-templates/list

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Who can call it: Partner and Account tokens.

  • Authentication plus an email-template feature check.

  • The endpoint scopes the target company by an in-controller ownsCompany check. A partner or an account user may pass any company_id inside their own company hierarchy.

  • Partner role can reach more companies down the tree. An account user reaches only itself and its descendants.

Rate limit

  • No rate limit.

Request body

  • Body:
FieldTypeRequiredDescription
company_idintegerYesA company in the authenticated user's hierarchy. Validated in-controller; a missing/unowned id returns 403, not 422.
{
  "company_id": 1
}

Response

  • data.status (string) — always success.
  • data.data[] (array) — rows, each:
  • type (string) — EmailTemplateType value, e.g. verify_email.
  • label (string) — human label.
  • group (string) — UI group, e.g. User, Location, Account.
  • audience (string) — audience enum value, e.g. user, location, account.
  • is_critical (bool) — critical transactional type.
  • is_platform_owned (bool) — centrally managed (only listed for the platform company).
  • is_report (bool) — report-style email.
  • supports_webhook (bool) — eligible for webhook delivery.
  • is_enabled (bool) — override value, else catalog default for the company.
  • show_logo (bool) — override value, else true.
  • delivery_method (string) — override value, else direct.
  • customized (bool) — true if any content region/subject override is set.
  • default_subject (string) — catalog default subject.
  • updated_at (string|null) — override row's updated_at, or null when no override exists.

200 OK · 200

{
  "data": {
    "status": "success",
    "data": [
      {
        "type": "verify_email",
        "label": "Email Verification",
        "group": "User",
        "audience": "user",
        "is_critical": true,
        "is_platform_owned": false,
        "is_report": false,
        "supports_webhook": true,
        "is_enabled": true,
        "show_logo": true,
        "delivery_method": "direct",
        "customized": false,
        "default_subject": "Please verify your email address.",
        "updated_at": null
      },
      {
        "type": "user_welcome",
        "label": "User Welcome",
        "group": "User",
        "audience": "user",
        "is_critical": true,
        "is_platform_owned": false,
        "is_report": false,
        "supports_webhook": true,
        "is_enabled": true,
        "show_logo": true,
        "delivery_method": "direct",
        "customized": true,
        "default_subject": "Welcome to [partnerTitle]",
        "updated_at": "2026-06-20T14:31:05.000000Z"
      },
      {
        "type": "review_response_reply",
        "label": "Review Response Reply",
        "group": "Location",
        "audience": "location",
        "is_critical": false,
        "is_platform_owned": false,
        "is_report": false,
        "supports_webhook": false,
        "is_enabled": true,
        "show_logo": true,
        "delivery_method": "direct",
        "customized": false,
        "default_subject": "A reply to your review for [storeName]",
        "updated_at": null
      },
      {
        "type": "report_activity",
        "label": "Report: Activity",
        "group": "Account",
        "audience": "account",
        "is_critical": false,
        "is_platform_owned": false,
        "is_report": true,
        "supports_webhook": false,
        "is_enabled": true,
        "show_logo": true,
        "delivery_method": "direct",
        "customized": false,
        "default_subject": "Activity Report",
        "updated_at": null
      }
    ]
  }
}

403 Forbidden (company not owned) · 403

{
  "status": "error",
  "message": "You do not have access to this company.",
  "errors": []
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
403Forbidden (company not owned)
500Unexpected server error

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/account/white-label/email-templates/list" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"company_id": 1}'

Did this page help you?