> ## 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.

# Dashboard

> A screen for every operation you would otherwise do by hand, built on the same API a customer uses.

**At** `https://dashboard.trylath.com`

The dashboard is a client of the operations, not a privileged path into the data. There is nothing it can do that a key cannot, which is the point of counting it as a surface at all.

Screens live under `/e/<environmentId>/…`, and the environment id is returned by `account.signup`. An unauthenticated visit redirects to `/signin?next=…`, so a link to a screen survives signing in and lands where it was pointed.

It is also the one surface a person can hand to somebody who does not write code — which is why it counts as parity rather than as a nicety.

A deep link to the SMS screen for one environment.

```text theme={null}
https://dashboard.trylath.com/e/<environmentId>/sms
```
