Documentation Index
Fetch the complete documentation index at: https://docs.lettr.com/llms.txt
Use this file to discover all available pages before exploring further.
The client.Templates service manages Lettr-managed templates. To send a template, set TemplateSlug on SendEmailRequest — see Sending Emails.
import lettr "github.com/lettr-com/lettr-go"
client := lettr.NewClient("your-api-key")
List Templates
templates, err := client.Templates.List(ctx, &lettr.ListTemplatesParams{
ProjectID: 5,
PerPage: 10,
Page: 1,
})
API Reference
GET /templates
Get a Template
template, err := client.Templates.Get(ctx, "welcome-email", nil)
// With a specific project
template, err = client.Templates.Get(ctx, "welcome-email", &lettr.GetTemplateParams{
ProjectID: 5,
})
Create a Template
Provide Html or Json (the TOPOL.io editor format), not both:
created, err := client.Templates.Create(ctx, &lettr.CreateTemplateRequest{
Name: "Welcome Email",
Html: "<h1>Hello {{FIRST_NAME}}!</h1>",
})
API Reference
POST /templates
Update & Delete
updated, err := client.Templates.Update(ctx, "welcome-email", &lettr.UpdateTemplateRequest{
Html: "<h1>Updated Hello {{FIRST_NAME}}!</h1>",
})
_, err = client.Templates.Delete(ctx, "welcome-email", nil)
Retrieve the variables a template expects — useful for validating data before sending:
tags, err := client.Templates.GetMergeTags(ctx, "welcome-email", nil)
for _, tag := range tags.Data.MergeTags {
fmt.Printf("Tag: %s (required: %v)\n", tag.Key, tag.Required)
}
API Reference
GET /templates//merge-tags
What’s Next
Template Language
Merge tag syntax, conditionals, loops
Sending Emails
Send a template with substitution data