API referenceTemplates

Get one template version including source

Returns a single published version of the template addressed by idOrSlug, selected by the version path segment (a positive integer).

Endpoint
GET https://api.dairo.app/v1/templates/{idOrSlug}/versions/{version}

Returns a single published version of the template addressed by idOrSlug, selected by the version path segment (a positive integer). The response is a bare object: "template_version" carrying version, source, subject, variables, notes, and createdAt — the immutable snapshot exactly as it renders and sends. Unlike the list endpoints, this call includes the full source. Responds 404 when the template does not exist, is archived, or that version was never published, and 400 when version is not a positive integer. Requires the templates:read scope.

Scope: templates:read. Send the API key as a bearer token; Scopes lists what each one reaches.

Request

cURL
curl "https://api.dairo.app/v1/templates/idOrSlug/versions/version" \
  -H "Authorization: Bearer $DAIRO_API_KEY"

Path parameters

NameTypeRequiredDescription
idOrSlugstringyesTemplate UUID or slug.
versionintegeryes(minimum 1)

Response

200 Success. Body: application/json, TemplateVersionDetailResponse.

FieldTypeRequiredDescription
templateIdstring (uuid)yes
versionTemplateVersionDetailyes
200
{
  "templateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "version": {
    "version": 0,
    "source": "string",
    "subject": "Hello from Acme",
    "variables": {},
    "notes": null,
    "createdAt": "2026-10-19T09:30:00Z"
  }
}

Errors

Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.

StatusMeaning
400The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch).
401The API key is missing or invalid.
403The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted).
404No such resource in this account (resource_not_found).
422The request is well-formed but a field failed validation (validation_failed).
429Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached).
500An unexpected error; retry with backoff, then contact support (internal_error).

On this page