Your reference
An OpenAPI file made for your workspace and your key: only what the key may use, with your own tables and their fields.
curl "https://api.olamma.sh/v1/w/your-workspace/openapi.json" \
-H "Authorization: Bearer $OLAMMA_KEY"const response = await fetch(`https://api.olamma.sh/v1/w/your-workspace/openapi.json`, {
headers: {
Authorization: `Bearer ${process.env.OLAMMA_KEY}`,
},
});
const data = await response.json();
if (!response.ok) throw new Error(`${data.error.code}: ${data.error.message}`);import os
import requests
response = requests.get(
"https://api.olamma.sh/v1/w/your-workspace/openapi.json",
headers={"Authorization": f"Bearer {os.environ['OLAMMA_KEY']}"},
timeout=30,
)
data = response.json()
response.raise_for_status()What’s inside
- Only the apps your workspace uses and the endpoints your key may call. A view-only key sees no write endpoints.
x-olamma-tables: each table the key can read, with its fields and views by name and id.- A schema for each table’s cells,
Cells_tt_…, typed from its real fields, so a generated client knows a “Total” field takes a whole number and a “Due” field a date.
Up to 25 tables are described in one file. If there are more, it says so; read the rest with Get table.
Use it
- Postman or Insomnia: import from the address above, then set the
Authorizationheader on the collection. - Generated clients: point a generator at the saved file, for example
npx @openapitools/openapi-generator-cli generate -i olamma.json -g typescript-fetch -o olamma-client.
Fetch it again after you add tables or fields, so the types stay current.
The general reference for every workspace is /v1/openapi.json, and the API reference is built from it.