API Reference

Default: http://localhost:9746

POST /entries

Create an entry.

{
  "category": "dev",
  "title": "built auth flow",
  "bullets": ["oauth2 pkce", "token refresh"],
  "hours_est": 3,
  "date": "2026-04-13",
  "time": "14:30"
}
FieldTypeRequiredDefault
categorystringyes
titlestringyes
bullets[]stringyes
hours_estnumberno0
datestringnotoday
timestringnonow

Returns 201:

{"id": 42, "date": "2026-04-13"}

GET /entries?date=YYYY-MM-DD

List entries for a date. Defaults to today.

Returns 200 with a JSON array of entries.

DELETE /entries/{id}

Remove an entry by ID.

Returns 200:

{"deleted": 42}

GET /schema

Returns field names, types, and descriptions. Agents can call this to self-discover the API without hardcoded instructions in their prompts.

{
  "endpoint": "POST /entries",
  "fields": [
    {"name": "category", "type": "string", "required": true, "description": "..."},
    {"name": "title", "type": "string", "required": true, "description": "..."},
    {"name": "bullets", "type": "[]string", "required": true, "description": "..."},
    {"name": "hours_est", "type": "number", "required": false, "description": "..."},
    {"name": "date", "type": "string", "required": false, "description": "..."},
    {"name": "time", "type": "string", "required": false, "description": "..."}
  ]
}

GET /health

{"status": "ok"}