All features
Automation

One platform. Three doorways. Pick yours.

Everything the dashboard does is also available as a REST management API, an MCP server for AI agents, and a Terraform provider for IaC. The access tokens beneath them all decide who, or what, gets to drive.

Programmatic surfaces
Every plan

Programmatic surfaces.

Three ways to drive the platform from code, agents, or IaC. All three back the same operations. No surface is the second-class citizen.

REST management API

For code
Every plan

A public OpenAPI 3.1 spec. Codegen a typed client in any language you use, or call it directly with curl. Every dashboard action has a matching endpoint. Nothing hides behind a private SDK contract.

Where it fits

Custom internal tools, automated provisioning scripts, server-side automations, anywhere code is the right driver and you want a typed client.

create-site.shshell
curl -X POST https://caputchin.com/api/v1/management/sites \
  -H "Authorization: Bearer cpt_pat_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "marketing",
    "troop_id": "trp_abc"
  }'

Terraform

For IaC
Every plan

A Terraform provider published to the Terraform Registry. Define your Caputchin setup as code, review changes in pull requests, apply through your existing CI/CD pipeline. The infrastructure that protects your other infrastructure.

Where it fits

IaC-driven teams. Reproducible environments where every site key, every troop, every token is in version control.

main.tfhcl
resource "caputchin_site_key" "marketing" {
  name     = "marketing"
  troop_id = caputchin_troop.main.id
}

MCP

For AI agents
Every plan

A Model Context Protocol server exposing every management operation as a tool. Run our hosted server or install the npm package and run your own. AI agents drive your setup the same way humans drive the dashboard.

Where it fits

Agentic workflows, AI assistants managing infrastructure, prompt-driven configuration. Let your agent do the click-through.

agent-call.tstypescript
// AI agent's tool call after the prompt:
// "Create a marketing site under troop A"

caputchin_create_site({
  name: "marketing",
  troop_id: "trp_abc",
});
Pick the doorway that fits your stack. The result is identical.

Access tokens

The credentials that drive everything programmatic. One master token for the whole account; per-troop tokens for everything scoped.

Every plan

Personal Access Token

One account-level token per account, free, capped at one active. Master reach: every operation, every troop. The default key for everything programmatic on day one.

Where it fits

Day-one scripting, solo automation, the IaC pipeline for a single-person account. The token that gets you started.

Troop tier

Troop Access Tokens

Per-troop scoped tokens for code or agents. Each consumes one seat from the pool. Scoped to a specific troop's permissions and site keys, so a leaked Troop Access Token can't blow up the rest of your account.

Where it fits

CI pipelines tied to specific environments, AI agents bound to a single troop's surface area, machine principals that mirror human team scoping.

Who can do what.

Personal Access TokenOne per account, free, capped at one active
Master reach
Account
cpt_pat_...spans everything
Troop A
Troop B
Troop C

Acts on every operation in every troop. The default key for getting started, solo automation, or the IaC pipeline of a single-person account.

Troop Access TokensPer troop, seat-bearing
Scoped reach
Account
Troop A
cpt_tat_a...
Troop B
cpt_tat_b...
Troop C
cpt_tat_c...

Each token is bound to one troop. CI pipelines tied to a single environment, AI agents bound to a single troop's surface area. Leaks are contained to that troop.

One master key for the whole account. Per-troop keys for everything scoped. Both can drive any of the three doorways above.

Pick a doorway. Ship a script.

Sign up, mint your first access token, drive Caputchin from your code, your CI, or your AI agent. Same operations from any path.

Start free