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

# Introduction

> Programmatic access to Cloakup campaigns and domains

The Cloakup API lets you manage campaigns and domains with API keys. All public endpoints live under `/v1` on `https://api.cloakup.me`.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Create a key, send your first request, and follow the recommended workflow.
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    API key format, scopes, rate limits, and prerequisites.
  </Card>

  <Card title="Campaigns API" icon="bullhorn" href="/api/campaigns">
    List, create, update, clone, and toggle campaigns.
  </Card>

  <Card title="Domains API" icon="globe" href="/api/domains">
    Register, verify, list, and delete domains.
  </Card>
</CardGroup>

## Base URL

```
https://api.cloakup.me
```

No trailing slash. Set `CLOAKUP_API_URL` in clients and scripts.

## What you need

1. A Cloakup plan with **API keys enabled**
2. An API key created in **Settings → API Keys** in the [dashboard](https://app.cloakup.me)
3. A key with the right **scopes** for each endpoint

<Note>
  API keys are shown only once at creation. Store them securely. Revoked or expired keys return `401`.
</Note>

## Recommended workflow

1. Register a domain: `POST /v1/domains` → `PATCH /v1/domains/:id/verify` until `verified: true`
2. Create a campaign with the [minimal example](/guides/campaign-create#minimal-example) — keep `deny_always: false` or omit it
3. Confirm with `GET /v1/campaigns/:id` or list (`in_review` must be `false` for production)

<Warning>
  Read [Production safety](/guides/production-safety) before creating campaigns. Wrong defaults can send all traffic to the safe page.
</Warning>
