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

# Quickstart

> Verify the API and pull projects with published changelog entries

## Prerequisites

* A SuprLogs account ([suprlogs.com](https://suprlogs.com)) with at least one project and some **published** changelog data (use the dashboard to connect GitHub and publish).
* An **API key** from **Settings → API Keys** (scoped to the projects you want to read).

## Base URL and authentication

* **Base URL:** `https://api.suprlogs.com` (local dev: `http://localhost:4704`).
* **Authentication (for `GET /v1/projects`):** `Authorization: Bearer <your-api-key>` or `X-API-KEY: <your-api-key>`.

## Step 1: Health check

`GET /health` confirms the API is running (no auth).

```bash theme={null}
curl "https://api.suprlogs.com/health"
```

Example response (`200`):

```json theme={null}
{
  "status": "ok",
  "timestamp": "2026-03-05T12:00:00.000Z",
  "service": "suprlogs-api",
  "nodeEnv": "production"
}
```

## Step 2: List published changelog entries (public)

`GET /v1/changelog/{slug}` returns published entries for a project — no auth needed.

```bash theme={null}
curl -s "https://api.suprlogs.com/v1/changelog/my-app?limit=10"
```

The response includes `project` metadata, an `entries` array of `ChangelogEntry` objects (title, content, generated\_json, version\_label, etc.), and `meta` with pagination info.

## Step 3: Get a single entry (public)

`GET /v1/changelog/{slug}/entries/{id}` returns one published entry by UUID.

```bash theme={null}
curl -s "https://api.suprlogs.com/v1/changelog/my-app/entries/ENTRY_UUID"
```

## Step 4: Fetch all projects with entries (authenticated)

`GET /v1/projects` returns every project the API key can access, each with up to `entries_limit` published entries (default **50**, max **200**), newest first.

```bash theme={null}
curl -s \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.suprlogs.com/v1/projects?entries_limit=100"
```

Use the JSON to map `projects[].slug` to your routing and render `projects[].changelog_entries` in your own design.

## Next steps

* [API Reference](/api-reference/introduction) — Contract, auth notes, and how the spec is generated.
* [Dashboard](https://suprlogs.com/app) — Repos, publishing, and API keys.
