Packages under your name
Every API ships an SDK, a CLI and an MCP server under the Startup's own name, built from the Verbs a Customer may call and versioned with the API.
Every API ships an SDK, a CLI and an MCP server under the Startup's own name. Each is built from the Verbs a Customer may call, and its major matches the API version.
One name everywhere
| Interface | At Leaseline |
|---|---|
| SDK | npm install leaseline, pip install leaseline |
| CLI | npx leaseline |
| MCP server | https: |
| Key variable | LEASELINE_API_KEY, read by all three |
| Reference docs | https:, with llms.txt and Markdown per page |
The names come from the Publication, and none of them names the platform.
The same call four ways
Leaseline declares a Lease Noun, so each package lists leases the same way:
curl "https: //api.leaseline.app/ leases? where= status%20%3D%20renewing" \
-H "Authorization: Bearer $LEASELINE_API_KEY"The MCP server gives an Agent four tools, search, fetch, try and do, that reach every Verb the Customer may call.
Only what a Customer may call
The OpenAPI document, the SDK types and the MCP tool list carry only the Verbs in the Product file. Operator Verbs, such as Offer.publish, stay out, so a Customer's Agent spends no context on calls it cannot make.
Versioned with the API
Version.deploy points every Interface at one build, the packages included. A breaking Change ships v2 of the API and leaseline@2. Code on leaseline@1 keeps calling v1, and the versioning page explains the pin.