The two steps you do
Both happen in a browser, and both need a person:- Create a free account at app.cadenya.com/signup. The Free plan needs no card.
- Copy an API key from the API keys page, then put it in your project’s
.envasCADENYA_API_KEY.
CADENYA_API_KEY from the environment, so nothing else needs a login. (API keys covers scopes, and keys for a single workspace.)
Put the key in .env or your shell, not in a chat message, so it stays out of your coding agent’s transcript. Transcripts get shared. Keys shouldn’t.
What your coding agent does
Everything from here runs in a terminal at the root of your project. (Agents that use skills can also pick up Cadenya’s withnpx skills add https://cadenya.com/docs.)
1
Install the CLI
Homebrew covers macOS and Linux. Chocolatey covers Windows:No package manager? Download the archive for your platform from the releases page. Then check the install:You should see:
2
Find your workspace ID
The CLI reads the environment, not Every account starts with two workspaces: Development and Production. List them:You should see (trimmed to the Development row):Add the Development ID to Then export it for the CLI:With an API key, the CLI takes the workspace from
.env. So load the file into the shell first:.env for your app:.env
CADENYA_WORKSPACE_ID, so export it before any command that works inside a workspace. The external ID works too, so development does the same job. In a script, this prints the ID and nothing else:3
Trust the hosts your Tool Sets call
Cadenya sends Tool Set requests only to hosts on your account’s trusted endpoints. That way, a Tool Set’s credentials never reach a host you didn’t pick. The Swagger Petstore lives at Then check the exact URL the Tool Set reads, and look for Trust only the hosts your own Tool Sets call, because every Tool Set in the account can reach a trusted host. The list belongs to the account, so one entry covers every workspace.
petstore3.swagger.io, so trust it:RESULT_TRUSTED in the result:4
Describe the setup in config files
The whole setup lives in your repository: a The settings name the workspace and the bundle key:The bundle key marks every resource this repository owns, so give each repository its own. The next step shows why.The Tool Set reads the Petstore’s OpenAPI spec from a URL:The Agent is published, so objectives can use it:And its variation picks the model and the prompt, then gets the Tool Set:A
cadenya.yaml for settings, and a .cadenya/ directory with one YAML file per resource. Here’s the layout for an Agent with the Swagger Petstore as its Tool Set:cadenya.yaml
.cadenya/toolSets/petstore.yaml
.cadenya/agents/petstore-agent.yaml
.cadenya/agents/petstore-agent/default.yaml
modelId is two external IDs joined by a dot: your AI provider key’s, then the model’s. Every account starts with a provider key called getting-started-key, and cadenya models list shows what your workspace can run. Each file’s external ID comes from its filename, which is why the Agent is petstore-agent. (Config files has every rule.)5
Check the plan, then apply
Validate first. It runs offline, so it costs nothing:You should see:But validate can’t see your workspace. So ask Cadenya what would change there:You should see (log lines trimmed):When the plan matches what you expect, apply it:Once the Tool Set exists, Cadenya syncs the Petstore’s operations into it as tools.
cadenya tool-sets tools list external_id:petstore lists them.6
Dispatch an objective from your app
Install the SDK for your language:Then create an objective for the Agent. Both SDKs read The call returns the new objective at once, and the Agent gets to work in Cadenya. Watch it from the terminal with the ID your app printed:Each line is one event as JSON:
CADENYA_API_KEY and CADENYA_WORKSPACE_ID from the environment, so run your app in the shell where you loaded .env (or let your framework’s .env loader handle it):toolCalled when the Agent calls a Petstore tool, assistantMessage when it answers. Press Ctrl-C to stop watching. The objective keeps running (it doesn’t need an audience).The note your coding agent leaves
Sometimes the code is ready before the account is. Or the agent works somewhere it can’t reach Cadenya. Either way, its last message becomes your setup guide. A useful one names the two browser steps, with both addresses, and ends with the commands that finish the job:Cadenya needs two steps from you:The sign-up address and the API keys page are the two lines the note can’t leave out. The key doesn’t exist until a person signs up, and no agent can do that part for you.Then run
- Create a free account at app.cadenya.com/signup. The Free plan needs no card.
- Copy an API key from app.cadenya.com/account/apiKeys and put it in
.envasCADENYA_API_KEY.cadenya workspaces list, put the Development ID in.envasCADENYA_WORKSPACE_ID, trustpetstore3.swagger.iowithcadenya trusted-endpoints create, and runcadenya config planandcadenya config apply.