Language-neutral

Reference clients

The small TypeScript client is a convenience wrapper over fetch and is intentionally easy to replace in any language.

TypeScript

const trestle = new TrestleClient("https://api.example.com", token);
const page = await trestle.list("issues", "?limit=25");
await trestle.create("issues", {title: "Investigate"});

Python

requests.get(f"{base}/api/v1/collections/issues/records",
  headers={"Authorization": f"Bearer {token}"}).raise_for_status()

Go

req, _ := http.NewRequest("GET", base+"/api/v1/capabilities", nil)
req.Header.Set("Authorization", "Bearer "+token)
response, err := http.DefaultClient.Do(req)

These examples use the same routes, tokens, limits and errors. A client cannot bypass rules, gain hidden operations or infer secrets.