RFC 9727 API Catalog

Aravind Venugopal API Documentation

Machine and human interfaces for Aravind Venugopal's interactive portfolio, AI concierge, and neural speech proxies.

GET /api/health

Probes backend capabilities (Groq LLM/STT, Sarvam TTS) and issues an IP-bound cryptographic session token valid for 30 minutes.

curl -s https://aravind.me/api/health
# Response:
# {
#   "ok": true,
#   "groq": true,
#   "sarvam": true,
#   "chat": true,
#   "stt": true,
#   "tts": true,
#   "chatModel": "openai/gpt-oss-120b",
#   "sessionToken": "..."
# }
POST /api/chat

Streams grounded Server-Sent Events (SSE) from Groq (openai/gpt-oss-120b) conditioned on Aravind's canonical profile data.

curl -X POST https://aravind.me/api/chat \
  -H "Content-Type: application/json" \
  -H "x-portfolio-session: <SESSION_TOKEN>" \
  -d '{"messages":[{"role":"user","content":"What is Aravind's product management background?"}]}'
POST /api/chat-summary

Generates a concise 2–3 sentence grounded voiceover summary of a concierge response for speech synthesis.

curl -X POST https://aravind.me/api/chat-summary \
  -H "Content-Type: application/json" \
  -H "x-portfolio-session: <SESSION_TOKEN>" \
  -d '{"text":"Aravind is a Product Manager with experience at Target..."}'
POST /api/stt

Transcribes user audio recording via Groq Whisper Turbo (whisper-large-v3-turbo).

curl -X POST https://aravind.me/api/stt \
  -H "x-portfolio-session: <SESSION_TOKEN>" \
  -F "audio=@recording.wav"
POST /api/tts

Synthesizes speech using Sarvam Bulbul (bulbul:v3), returning raw audio/wav binary.

curl -X POST https://aravind.me/api/tts \
  -H "Content-Type: application/json" \
  -H "x-portfolio-session: <SESSION_TOKEN>" \
  -d '{"text":"Hello! I am Aravind\'s AI concierge."}' \
  --output speech.wav