Reference
SDKs & tools
Use a typed client when one is available; the surface is small enough to call with raw HTTP otherwise. The OpenAPI spec is the source of truth — every official SDK is generated from it.
OpenAPI is canonical
We publish a versioned OpenAPI 3.1 spec at api.worksible.com/v1/openapi.json. If the spec and the docs disagree, the spec wins. SDK ports and Postman collections are generated from it.Official SDKs
TypeScript example
The TS SDK is a tiny wrapper around fetch with full typing for every endpoint and every response.
example.ts
import { Worksible } from "@worksible/sdk";
const ws = new Worksible({ apiKey: process.env.WORKSIBLE_API_KEY! });
// Typed responses — autocompletes on company.plan, company.kybStatus, etc.
const company = await ws.companies.me();
console.log(`${company.name} on ${company.plan}`);
// Pagination helper: async iterator across pages.
for await (const project of ws.projects.list({ status: "active" })) {
console.log(project.title);
}
// Idempotent writes with auto-generated keys.
const link = await ws.paymentLinks.create({
amountCents: 50_000,
currency: "EUR",
description: "May retainer",
});Python example
example.py
from worksible import Worksible
ws = Worksible(api_key=os.environ["WORKSIBLE_API_KEY"])
company = ws.companies.me()
print(f"{company.name} on {company.plan}")
# Pagination as a normal iterator
for project in ws.projects.list(status="active"):
print(project.title)
# Idempotent writes
link = ws.payment_links.create(
amount_cents=50_000,
currency="EUR",
description="May retainer",
)CLI
The worksible CLI is a thin wrapper for shell scripting and CI. It picks up WORKSIBLE_API_KEY from the env automatically.
install
brew install worksible/tap/cli # macOS
curl -sSL https://get.worksible.com | sh # Linux / WSL
scoop install worksible # Windowsusage
worksible companies me
worksible projects list --status=active --per-page 100
worksible invoices issue --recipient=org_2024_AbCd --amount-cents=50000
worksible logs tail --key-prefix=AbCd1234 # tail recent requests for a keyPostman
Import our Postman collection to explore every endpoint without writing code. The collection is generated from the same OpenAPI spec, so it stays in sync.
text
https://api.worksible.com/v1/postman.jsonBeta caveats
SDKs marked Beta are stable enough for production but the surface may grow with additive changes during beta. We'll never remove or rename a method without bumping a major version. Pin to a minor version in your package.json.