OlammaAPI

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 Authorization header 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.