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

# Developer quickstart

> Connect to your workspace and make your first API request.

Build integrations with workspace records and tasks, receive outbound webhooks, or load project environment variables with the Kato CLI.

## Choose your starting point

| You want to                                           | Use                                                           |
| ----------------------------------------------------- | ------------------------------------------------------------- |
| Read or update workspace records                      | [Objects and records API](/api-reference/objects-and-records) |
| Create and manage tasks                               | [Tasks API](/api-reference/tasks/overview)                    |
| React when work changes in Kato                       | [Webhooks](/api-reference/webhooks/setup)                     |
| Pull environment variables or run a command with them | [CLI](/documentation/cli)                                     |

The public REST API uses `https://api.getkato.io/v1`. The CLI uses its own `/cli/v1` surface. The CLI currently manages project environment variables; it does not provide record or task commands.

Browse [all endpoints](/api-reference/endpoints) for the full method and scope directory, including the [CLI HTTP API](/api-reference/cli/overview), [Raycast API](/api-reference/raycast/overview), and [OAuth lifecycle](/api-reference/oauth/overview). The steps below use a developer key.

## Create an access key

In Kato, open **Settings → Workspace → Developers → New access key**. Give the key a recognizable name and choose the permissions your integration needs. API key creation requires Pro.

For this first request, choose **Objects: Read**. Copy the generated `kato_…` token when it appears; it is only shown once. Store it in a local secret manager or environment variable named `KATO_API_KEY`. Keep it out of browser code and source control.

Read [Authentication and API conventions](/api-reference/authentication) for roles, scopes, and key revocation.

## Check the connection

With `KATO_API_KEY` set in your shell, make a read-only request:

```bash theme={null}
curl --fail-with-body --silent --show-error \
  https://api.getkato.io/v1/whoami \
  -H "Authorization: Bearer $KATO_API_KEY"
```

A successful response identifies the key's workspace and granted scopes. IDs below are illustrative.

```json theme={null}
{
  "data": {
    "workspace": {
      "id": "workspace_example",
      "name": "Northstar Studio",
      "slug": "northstar"
    },
    "scopes": ["objects:read"],
    "keyId": "key_example"
  }
}
```

Check the returned workspace before writing data. A key belongs to one workspace.

## Discover your objects

```bash theme={null}
curl --fail-with-body --silent --show-error \
  https://api.getkato.io/v1/objects \
  -H "Authorization: Bearer $KATO_API_KEY"
```

The `data` array contains each object's `id`, `slug`, `singularName`, `pluralName`, and `createdAt`. Use an object ID or slug from this response to [discover its fields](/api-reference/objects-and-records#discover-objects-and-fields). Object slugs and field definitions can differ between workspaces.

## Build the next step

Start with a read-only integration. When you need writes, create a key with the matching write scope and try your request on a test record.

For ongoing synchronization, use [pagination](/api-reference/authentication#pagination) for your initial import and [webhooks](/api-reference/webhooks/setup) for subsequent changes. Webhook subscriptions do not backfill historical events.


## Related topics

- [Sync client records](/recipes/sync-client-records.md)
- [Integrations](/integrations/overview.md)
- [Identify your workspace](/api-reference/whoami.md)
- [All endpoints](/api-reference/endpoints.md)
- [Authentication and API conventions](/api-reference/authentication.md)
