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

# Introduction

> What your application can do with Lekalao, and where to start.

Everything the interface does, your application can do too: subscribe people from your shop, add tags, create and send campaigns, send order e-mails, report sales.

## Four doors

<CardGroup cols={2}>
  <Card title="The REST API" icon="brackets-curly" href="/api-reference/introduction">
    JSON over HTTPS, one token per application. The main door.
  </Card>

  <Card title="Outgoing webhooks" icon="bell" href="/developers/webhooks">
    Lekalao calls your application when someone subscribes, unsubscribes
    or bounces.
  </Card>

  <Card title="The Laravel transport" icon="laravel" href="/developers/laravel-transport">
    A Laravel application sends its e-mails through Lekalao without
    changing its code.
  </Card>

  <Card title="The SMTP relay" icon="server" href="/developers/smtp-relay">
    For any software that already speaks SMTP.
  </Card>
</CardGroup>

And for a site with no server of its own, the [subscription form](/developers/forms) takes a plain `POST` from the browser.

## Your first call

<Steps>
  <Step title="Create a token">
    **Settings → API tokens → New token**, with **Read**. Copy it. See [Authentication](/developers/authentication).
  </Step>

  <Step title="List your lists">
    ```bash theme={null}
    curl https://lekalao.example.com/api/v1/lists \
      -H "Authorization: Bearer $LEKALAO_TOKEN" \
      -H "Accept: application/json"
    ```
  </Step>

  <Step title="Read the answer">
    ```json theme={null}
    {
      "data": [
        {
          "id": "9d5c2a1e-8f3b-4c7a-9e21-3b8f0c6d4a12",
          "name": "Bakery customers",
          "locale": "en",
          "from_email": "hello@mybakery.example",
          "from_name": "The Bakery",
          "requires_confirmation": true,
          "subscribed_count": 1284,
          "created_at": "2026-09-17T09:12:44+00:00"
        }
      ],
      "links": { "first": "…?page=1", "last": "…?page=1", "prev": null, "next": null },
      "meta": { "current_page": 1, "last_page": 1, "per_page": 25, "total": 1 }
    }
    ```
  </Step>
</Steps>

Replace `lekalao.example.com` with the address of your own Lekalao. **Settings → Documentation** shows it, with this call ready to copy.

## Recipes

| I want to…                                             | Page                                               |
| ------------------------------------------------------ | -------------------------------------------------- |
| Subscribe my shop's customers and keep them up to date | [Subscribers](/developers/subscribers)             |
| Target "the VIPs who opened in September"              | [Segments](/developers/segments)                   |
| Create a campaign from my CMS and send it              | [Campaigns](/developers/campaigns)                 |
| Send the order confirmation                            | [Transactional e-mails](/developers/transactional) |
| Start an abandoned basket reminder                     | [Automations](/developers/automations)             |
| Know what my e-mails earn                              | [Sales](/developers/conversions)                   |

## The contract

The [API reference](/api-reference/introduction) describes every route, with a playground. The same OpenAPI document is served by every installation, at `GET /api/v1/openapi.json`, so it follows its exact version: import it into Postman, Insomnia or a client generator.
