Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs-chat.die-coaching-akademie.de/llms.txt

Use this file to discover all available pages before exploring further.

GET /health

Returns service readiness information without requiring authentication.
curl https://chat.die-coaching-akademie.de/health
{
  "status": "ok",
  "knowledge_base_entries": 219,
  "openai_configured": true
}

POST /chat

Main chat endpoint used by the widget.
curl -X POST https://chat.die-coaching-akademie.de/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Wann ist der nächste Infoabend?",
    "history": [],
    "state": {}
  }'
Response shape:
{
  "answer": "Die nächsten Infoabende sind: ...",
  "sources": [
    {
      "label": "Infoabende ansehen",
      "url": "https://www.die-coaching-akademie.de/veranstaltungen/veranstaltungen-uebersicht"
    }
  ]
}

Request model

class ChatRequest(BaseModel):
    message: str = Field(..., min_length=1, max_length=1200)
    history: list[ChatHistoryMessage] = Field(default_factory=list, max_length=6)
    state: ChatState = Field(default_factory=ChatState)

Rate limiting

The app uses a simple in-memory request log keyed by client IP. This is suitable for the current single-process deployment, but would need Redis or gateway-level rate limiting for multi-instance deployments.