List templates

GET/v1/templates

Secret key — sk_… or sk_test_… · Base URL https://api.volanea.com

Every template in the project, newest first, each with its current content and version number.

Unpaginated — unlike contacts, emails, and events, this returns the whole set in one response, bodies included. A project with many large templates will find this a heavy call; there is no cursor to page it with.

Response

All templates, most recently updated first.

  • dataobject[]required
    • templateIdstringrequired
    • projectIdstring
    • namestringrequired
    • typeenumrequired
      transactionalmarketing
    • subjectstringrequired
    • bodystringrequired
    • fromNamestring | null
    • fromEmailemailrequired
    • versionintegerrequired

      Bumped on every content change; old versions are kept for rollback.

    • createdAtdate-timerequired
    • updatedAtdate-timerequired

Errors

Every failure returns the standard envelope — branch on `code`, never on the wording of `error`.

  • 401Missing or invalid API key.

Request

curl https://api.volanea.com/v1/templates \
  -H "Authorization: Bearer sk_..."

Response

200 · application/json

{
  "success": true,
  "data": {
    "data": [
      {
        "templateId": "tpl_9f2c",
        "projectId": "<projectId>",
        "name": "Welcome",
        "type": "transactional",
        "subject": "Your order shipped",
        "body": "<p>On its way, {{firstName}}.</p>",
        "fromName": "Acme",
        "fromEmail": "hello@yourdomain.com",
        "version": 1,
        "createdAt": "2026-01-01T09:00:00.000Z",
        "updatedAt": "2026-01-01T09:00:00.000Z"
      }
    ]
  }
}

92 endpoints · OpenAPI document