# Quickstart

> Obtain authorized access to your workspace before calling the API.


## REST server

```text
https://engage.shuffll.com/api
```

Use this base URL with the `/v1/...` operation paths in the reference. The documentation site's `/engage` route is not an API endpoint. For the separate MCP URL, see [servers and endpoints](/engage#servers-and-endpoints).

## 1. Enable workspace access

An entitled administrator enables API access and permitted scopes for the exact partner or child workspace. Open **Integrations → Developer → API keys**, issue a scoped key and store the secret in a server-side secret manager. The secret is shown once. A parent administrator's authority remains limited by the parent's policy and active status.

## 2. Read capabilities

Set `ENGAGE_API_KEY` securely in your local environment. The example uses shell environment-variable syntax; never paste a live key into documentation or commit it to source control.

```sh
curl --fail-with-body \
  'https://engage.shuffll.com/api/v1/capabilities' \
  -H "Authorization: Bearer $ENGAGE_API_KEY"
```

The response describes the operations available to that principal. Availability can change when policy, permissions or key status changes. Consult the [reference](/engage/openapi) for the exact response schema.

## 3. Choose a workflow

Follow the [campaign workflow](/engage/workflows) for template discovery and generation, or [connect an MCP client](/engage/mcp). A successful capabilities read does not grant every operation; request only the scopes the integration needs.

Read [authentication](/engage/authentication) and [jobs and retries](/engage/errors) before adding writes. Generation is an explicit action that may consume the workspace's configured allowance.