> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trylath.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Every Lath operation is POST https://platform.trylath.com/<operation name with dots replaced by slashes>, with a JSON body and `Authorization: Bearer <key>`. `email.send` is POST /email/send.
> Branch on `error.code`, never on `error.message`. Every refusal also carries `error.fix`, which names the next step.
> Send an `Idempotency-Key` header on any operation that is not retry-safe, so a retry cannot run it twice.
> A `lath_test_` key emails only the account's own members and sends no SMS; a `lath_live_` key reaches real recipients and is billed.
> The OpenAPI document, generated from the same registry as the routes, is at https://platform.trylath.com/openapi.json.

# email.template.starter.list

> Lists the emails a project can start from — a welcome, an announcement, a receipt and a plain notice — each with a subject, the blocks it is built from, and the exact `html` to pass to email.template.set. The HTML is rendered with this project's own theme, so what is saved is byte for byte what the dashboard's editor would have saved, and the template opens there in Blocks mode and can be edited by hand afterwards. These are starting points with placeholder wording, not Lath's own messages: every `{{variable}}` they name has to be given at send, and an unfilled one is refused rather than mailed. The reserved sign-in messages are separate and listed by email.template.list.



## OpenAPI

````yaml /api-reference/openapi.json post /email/template/starter/list
openapi: 3.1.0
info:
  title: Lath API
  version: 0.1.0
  description: >-
    Every operation is one POST. The same set is reachable over MCP, the SDK and
    the CLI; nothing is dashboard-only.
servers:
  - url: https://platform.trylath.com
    description: This deployment
security: []
paths:
  /email/template/starter/list:
    post:
      tags:
        - email
      summary: email.template.starter.list
      description: >-
        Lists the emails a project can start from — a welcome, an announcement,
        a receipt and a plain notice — each with a subject, the blocks it is
        built from, and the exact `html` to pass to email.template.set. The HTML
        is rendered with this project's own theme, so what is saved is byte for
        byte what the dashboard's editor would have saved, and the template
        opens there in Blocks mode and can be edited by hand afterwards. These
        are starting points with placeholder wording, not Lath's own messages:
        every `{{variable}}` they name has to be given at send, and an unfilled
        one is refused rather than mailed. The reserved sign-in messages are
        separate and listed by email.template.list.
      operationId: email.template.starter.list
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties: {}
              additionalProperties: false
      responses:
        '200':
          description: '{ activityId, result }. activityId is empty for reads.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  activityId:
                    type: string
                    description: The activity this call created, or empty for a read.
                  result:
                    $schema: https://json-schema.org/draft/2020-12/schema
                    type: object
                    properties:
                      starters:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            title:
                              type: string
                            of:
                              type: string
                            suggestedName:
                              type: string
                            subject:
                              type: string
                            html:
                              type: string
                            variables:
                              type: array
                              items:
                                type: string
                            blocks: {}
                          required:
                            - id
                            - title
                            - of
                            - suggestedName
                            - subject
                            - html
                            - variables
                            - blocks
                          additionalProperties: {}
                    required:
                      - starters
                    additionalProperties: {}
                required:
                  - activityId
                  - result
        '400':
          description: invalid_input or invalid_json
        '401':
          description: unauthenticated
        '403':
          description: forbidden
        '404':
          description: not_found
        '409':
          description: 'conflict: idempotency_mismatch, email_taken, last_key'
        '413':
          description: body_too_large
        '429':
          description: rate_limited
      security:
        - bearer: []
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        A Lath API key: lath_live_… or lath_test_… on a server, lath_live_pk… or
        lath_test_pk… in a browser.

````