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

# API reference

> The LoyaltyDog public REST API, generated from the frozen public OpenAPI.

The pages under this tab are generated from the **public** OpenAPI snapshot [`openapi.public.json`](/openapi.public.json) (SWE-1133). That is the merchant-product surface.

Do **not** treat [`/openapi.json`](https://api.loyalty.dog/openapi.json) as the public product. That file is the full app schema (login, MFA, API Keys, admin) used by the dashboard client.

Use the Mintlify playground on each endpoint to send requests. Page menu → **Download API spec** for the OpenAPI file.

## Base URL

```
https://api.loyalty.dog
```

Public product routes are under **`/v2`**. Partner curl should hit `/v2`, not `/api/v2`.

## Authentication

Merchant product routes require a bearer secret. Gift-card balance-check is public (no `Authorization`). See [Authentication](/authentication).

```http theme={null}
Authorization: Bearer YOUR_API_TOKEN
```

## Rate limits

Hashed public keys (`ld_*`) are limited per key. JWT App Keys are **not** in that limiter. See [Rate limits](/guides/rate-limits).

## Errors

Hashed `ld_*` keys use `{code, message, request_id}`. JWT App Keys keep today's `detail` body. See [Errors](/guides/errors).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.