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

# API Reference

> Complete reference for the Cadenya API, generated from the OpenAPI specification.

The Cadenya API gives you programmatic control over every resource in the platform: tool sets, agents, objectives, memory, and more. Every endpoint here is generated from the [OpenAPI specification](https://openapi.cadenya.com/api-spec.yml), with request and response schemas and copy-paste SDK snippets in TypeScript, Go, Ruby, and cURL.

## Base URL

```
https://api.cadenya.com
```

## Authentication

Every request is authenticated with an HTTP bearer token (a JWT minted from a workspace-scoped API key):

```bash theme={null}
Authorization: Bearer $CADENYA_API_KEY
```

See the [API Design](/docs/guides/api-design#authentication) guide for how keys are issued, rotated, and scoped to workspaces.

## SDKs

Official SDKs wrap the API in idiomatic clients:

<CardGroup cols={2}>
  <Card title="TypeScript" icon="square-js">
    `npm install @cadenya/cadenya`
  </Card>

  <Card title="Go" icon="golang">
    `go get github.com/cadenya/cadenya-go`
  </Card>

  <Card title="Ruby" icon="gem">
    `gem install cadenya`
  </Card>

  <Card title="CLI" icon="terminal">
    `brew install cadenya/tools/cadenya-cli`
  </Card>
</CardGroup>

## Conventions

* **External IDs.** Pass your own `external_id:` value anywhere the API accepts a Cadenya ID. See [External IDs are first-class in paths](/docs/guides/api-design#external-ids-are-first-class-in-paths).
* **Field masks.** Updates are PUT-shaped but behave like PATCH through `update_mask`. See [Updates use field masks](/docs/guides/api-design#updates-use-field-masks).
* **Pagination.** List endpoints share a common shape with `limit`, `cursor`, `prefix`, and `query`. See [List requests](/docs/guides/api-design#list-requests).

Browse the endpoints in the sidebar to get started.
