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

# Introduction

> Programmatic access to links, landing pages, groups, domains and analytics.

The Teasy API gives your own systems the same control over links, landing pages and analytics that
the dashboard has. It is REST over JSON, with one production host:

```
https://api.teasy.link/v1
```

## Your first request

Issue a key on the API Keys page of your dashboard, then list what you already have:

```bash theme={null}
curl https://api.teasy.link/v1/redirects \
  -H "Authorization: Bearer tsl_live_<32 characters>"
```

Creating a link needs only a name and a target:

```bash theme={null}
curl -X POST https://api.teasy.link/v1/redirects \
  -H "Authorization: Bearer tsl_live_<32 characters>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Promo",
    "target_url": "https://yourcontent.com/kate",
    "slug": "promo"
  }'
```

The link is served from the system domain `teasy.link` unless you pass a `domain` of your own.

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/api-v1/api-v1/authentication">
    Bearer key in a header. Server-side only.
  </Card>

  <Card title="Response shapes" icon="brackets-curly" href="/api-v1/api-v1/responses">
    Five body forms and the rules every field follows.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/api-v1/api-v1/errors">
    One shape on every status. Match on `code`, never on `message`.
  </Card>

  <Card title="Rate limits" icon="gauge" href="/api-v1/api-v1/rate-limits">
    Per-minute and per-day windows, shared across your keys.
  </Card>
</CardGroup>
