Plansmith API
A versioned JSON API at api.plansmith.co/v1, authenticated with a bearer credential.
Start here, with no credential
GET /v1 answers without one. It returns the link map, how to get a credential, and where the
OpenAPI document lives, so a client can learn the shape of the API before anyone has minted
anything.
curl https://api.plansmith.co/v1Send a credential on the same call and you get your workspace, your scope and the credential kind back instead. A credential that is present and invalid is still refused with a 401: only the absence of one is anonymous.
Authentication
curl -H "Authorization: Bearer psk_write_…" https://api.plansmith.co/v1/meTwo credential kinds work on the same header: a personal API key (psk_…) minted in
Settings → API keys, and an OAuth access token obtained by the CLI or an MCP client. Both act as the
human they belong to.
Scopes
A credential is read or write. Scope is a ceiling on top of your own permissions, never a
widening of them: a write key held by someone with view-only access to a plan still cannot change
that plan.
Errors
{
"error": {
"code": "not_found",
"message": "No such plan."
}
}A plan you cannot read answers 404, exactly like a plan that does not exist. That is deliberate: a 403 would confirm which private plans are real, so the two are made indistinguishable. The one 403 you will see on plan content is when you can read a plan but not edit it.
How things are addressed
Projects have a slug, plans are PLAN-n within their project, and specs are SPEC-n within their
plan: the same handles you see in the web app, so a URL you read in the console is a path you can
call.
/v1/projects/recipe-box
/v1/projects/recipe-box/plans/PLAN-12
/v1/projects/recipe-box/plans/PLAN-12/specs/SPEC-3The full reference
Every route, parameter and response shape is described by the OpenAPI document. It needs no credential, and it is served from two addresses: the API host, and the site root, which is where a client that only knows the domain will look.
curl https://api.plansmith.co/v1/openapi.json
curl https://www.plansmith.co/openapi.jsonhttps://www.plansmith.co/.well-known/api-catalog lists all of it in RFC 9727 form: the OpenAPI
document, these guides, and the MCP endpoint.