# Timekeepur Developer Resources

Machine-readable interfaces for AI agents integrating with timekeepur.com.

## REST endpoints

| Method | Path | Purpose |
| --- | --- | --- |
| POST | /api/chat | Streaming concierge chat (UIMessage[] body) |
| GET | /api/ai/health | AI gateway health check |
| POST | /api/quiz | Academy quiz evaluation |
| POST | /api/ai/explainer | Lesson explainer |
| POST | /api/ai/role-mapper | Role mapping demo |
| POST | /api/ai/simulation | Simulation demo |
| POST | /api/ai/synthesis | Research synthesis demo |
| POST | /api/ai/walkthrough | Decision walkthrough demo |
| POST | /api/ai/collaboration | Collaboration demo |
| POST | /api/voice/session | xAI voice session token |
| POST | /api/voice/tool | Concierge tool execution for voice |

## Error format

All API routes return JSON errors:

```json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Human-readable summary",
    "resolution": "What to do next",
    "docs": "https://timekeepur.com/developers"
  }
}
```

## Content negotiation

Send `Accept: text/markdown` to `/`, `/about`, `/contact`, `/privacy`, `/developers`, `/pricing.md`, `/resume.md`, `/references.md`, `/writing.md`, `/videos.md`, `/oss.md`, `/skills.md`, or `/blog/{slug}` for markdown. Responses include `Vary: Accept, Accept-Encoding`.

## Agent discovery files

- [/llms.txt](https://timekeepur.com/llms.txt)
- [/pricing.md](https://timekeepur.com/pricing.md)
- [/resume.md](https://timekeepur.com/resume.md)
- [/references.md](https://timekeepur.com/references.md)
- [/writing.md](https://timekeepur.com/writing.md)
- [/videos.md](https://timekeepur.com/videos.md)
- [/oss.md](https://timekeepur.com/oss.md)
- [/skills.md](https://timekeepur.com/skills.md)
- [/sitemap.xml](https://timekeepur.com/sitemap.xml)
- [/robots.txt](https://timekeepur.com/robots.txt)

## Authentication

Public endpoints require no client API key. Server-side env vars (`AI_GATEWAY_API_KEY`, `XAI_API_KEY`) must be configured on the deployment for AI features to respond.
