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

# Sterndesk developer documentation

> HTTP/JSON access to the Sterndesk data available to your account.

The [API reference](/api-reference) documents every operation a Sterndesk API key may call. It is
generated from the specification the backend itself serves, so it describes the API that is actually
running rather than a copy maintained by hand.

## Authenticate

Create a personal API key in the dashboard under **Settings → My account → API keys**, and send it
as a bearer token:

```bash theme={null}
curl https://edge.sterndesk.com/rpc/rpc.v1.RootService/WhoAmI \
  --header "Authorization: Bearer $STERNDESK_API_KEY" \
  --header "Connect-Protocol-Version: 1" \
  --header "Content-Type: application/json" \
  --data '{}'
```

## Call an operation

Every operation is a [Connect RPC](https://connectrpc.com). Send `POST` to the operation's path with
a JSON body and the `Connect-Protocol-Version: 1` header, as above. A key reads everything the
reference documents; the only write operation is uploading candidate documents, which needs a key
carrying the `sterndesk:documents:write` permission.

Permissions are chosen when a key is created and are never added to an existing key.
