{"message":"Markdown API - Convert web pages to Markdown with S3 caching","version":"2026-07-02","endpoints":{"GET /health":"Health check","GET /llms.txt":"LLM-friendly API documentation (llmstxt.org standard)","GET /docs":"API documentation (Swagger UI)","POST /convert":"Convert URL to Markdown (body: { \"url\": \"https://example.com\" }). Fast HTML conversions are synchronous (200 + Markdown); conversions that can be slow (LLM features summarize/question/extract_ctas, PDFs, SiePortal/Akamai) auto-escalate to 202 + jobId when they exceed the deadline. Force it with \"async\": true; opt in explicitly with header \"Prefer: respond-async\" or \"allow_async\": true.","GET /convert?url=<url>":"Convert URL to Markdown via query parameter. Fast HTML conversions are synchronous (200 + Markdown); conversions that can be slow (LLM features summarize/question/extract_ctas, PDFs, SiePortal/Akamai) auto-escalate to 202 + jobId when they exceed the deadline. Force it with &async=true; opt in explicitly with header \"Prefer: respond-async\" or &allow_async=true.","GET /jobs/<id>":"Poll the status/result of an async conversion job (supports ?wait=<seconds> long-poll)","GET /cache/stats":"Get cache statistics and hit rates","GET /cache/health":"Check cache system health","DELETE /cache?url=<url>":"Invalidate cache for specific URL","DELETE /cache":"Clear all cache (use with caution)"},"contentTypes":{"html":"Siemens web pages (incl. SiePortal product detail pages with eCl@ss/ETIM classification + datasheet URL)","pdf":"PDF documents are downloaded and extracted to Markdown server-side"},"caching":{"enabled":true,"ttlHours":1,"s3Bucket":"markdown-api-dev-cache","layers":["memory","s3","filesystem"]}}