# GetScaled Quickstart

Get from zero to your first API call, your first contact, and a connected MCP server in five short steps. Every step shows a `curl` example and, where it applies, the equivalent `@getscaled/cli` command.

**You will need:** an account on the portal at [https://portal.getscaled.com](https://portal.getscaled.com). Pricing is usage- and performance-based, and there is a free trial with self-serve API keys, so you can complete this guide without talking to sales.

Throughout, the API base URL is `https://api.getscaled.com` and endpoints are versioned under `/api/v1`. Replace `gsk_your_key_here` with your real key.

## Step 1 — Get an API key

1. Sign in at [https://portal.getscaled.com](https://portal.getscaled.com).
2. Go to **Admin → API Keys**: [https://portal.getscaled.com/admin/api-keys](https://portal.getscaled.com/admin/api-keys).
3. Create a key, grant it the scopes you need (start with `campaigns:read` and `contacts:write` for this guide), and copy it. Keys are prefixed `gsk_` and shown once.

Authenticate by sending the key as a bearer token:

```
Authorization: Bearer gsk_your_key_here
```

Configure the CLI once and it will reuse the key:

```bash
npm i -g @getscaled/cli
getscaled auth login --api-key gsk_your_key_here
```

For the full authentication reference (including OAuth 2.1), see [https://getscaled.com/docs/authentication.md](https://getscaled.com/docs/authentication.md).

## Step 2 — Call the health endpoint

Confirm connectivity and that your key is valid:

```bash
curl https://api.getscaled.com/api/v1/health \
  -H "Authorization: Bearer gsk_your_key_here"
```

A healthy response confirms the API is reachable and your credentials are accepted. CLI:

```bash
getscaled health
```

## Step 3 — List campaigns

List the campaigns in your account. List endpoints support `limit` and `offset` (or `cursor`) for pagination.

```bash
curl "https://api.getscaled.com/api/v1/campaigns?limit=10" \
  -H "Authorization: Bearer gsk_your_key_here"
```

CLI:

```bash
getscaled campaigns list --limit 10
```

This call requires the `campaigns:read` scope.

## Step 4 — Create a contact

Add a contact to your account. Creating and updating contacts requires the `contacts:write` scope.

```bash
curl -X POST https://api.getscaled.com/api/v1/contacts \
  -H "Authorization: Bearer gsk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "jane@example.com",
    "first_name": "Jane",
    "last_name": "Doe",
    "tags": ["quickstart"]
  }'
```

CLI:

```bash
getscaled contacts create \
  --email jane@example.com \
  --first-name Jane \
  --last-name Doe
```

The response returns the created contact, including its ID, which you can use to enroll it in a journey or add it to a list.

## Step 5 — Connect the MCP server

GetScaled's native MCP server lets AI agents (Claude, ChatGPT, Cursor) operate the platform with the same `gsk_` key.

- **URL** — `https://mcp.getscaled.com/v1` (Streamable HTTP)
- **Auth** — `Authorization: Bearer gsk_your_key_here`
- **Server card** — [https://mcp.getscaled.com/.well-known/mcp/server-card.json](https://mcp.getscaled.com/.well-known/mcp/server-card.json)

You can sanity-check the endpoint and inspect its advertised capabilities by fetching the server card:

```bash
curl https://mcp.getscaled.com/.well-known/mcp/server-card.json
```

To add it to an MCP client, point the client at `https://mcp.getscaled.com/v1` and supply your `gsk_` key as a bearer token. Step-by-step setup for Claude Desktop, Cowork, and Cursor is in the MCP doc: [https://getscaled.com/docs/mcp.md](https://getscaled.com/docs/mcp.md).

## Next steps

- **Authentication** (API keys, scopes, OAuth 2.1) — [https://getscaled.com/docs/authentication.md](https://getscaled.com/docs/authentication.md)
- **Webhooks** (events + signed payloads) — [https://getscaled.com/docs/webhooks.md](https://getscaled.com/docs/webhooks.md)
- **MCP server** — [https://getscaled.com/docs/mcp.md](https://getscaled.com/docs/mcp.md)
- **OpenAPI 3.1 spec** — [https://api.getscaled.com/openapi.json](https://api.getscaled.com/openapi.json)
- **Developer landing** — [https://getscaled.com/developers.md](https://getscaled.com/developers.md)

Questions? Email [developers@getscaled.com](mailto:developers@getscaled.com).
