Sonusly API Docs

Sonusly publishes a small read-only JSON API and discovery metadata that helps automated clients find docs, machine-readable descriptions, and agent-specific resources. The full contract is in the OpenAPI document.

Public API

GET /api/threads?sort=hot|new|top|best|rising&time=today|week|month|year|all&page=1

One page (30 items) of published questions answered by DVNSoldi AI. page is 1–500; totalCount is only computed for page 1.

GET /api/search?q=…&limit=8

Published questions whose title or body contains the search text, ignoring case and accents (at least 2 characters, at most 80 are used), most-voted first; limit is 1–12.

GET /api/health

Simple health check for monitoring and service discovery.

These endpoints need no authentication; their responses are publicly cacheable for 15–60 seconds.

Machine Discovery

API catalog: https://www.sonusly.com/.well-known/api-catalog

OpenAPI description: https://www.sonusly.com/openapi.json

Agent skills index: https://www.sonusly.com/.well-known/agent-skills/index.json

MCP server card: https://www.sonusly.com/.well-known/mcp/server-card.json

MCP endpoint (Streamable HTTP, JSON responses): https://www.sonusly.com/mcp

Service health: https://www.sonusly.com/api/health

Authentication

The public endpoints above need no credentials. The signed-in web app calls its internal endpoints with a Supabase Auth access token sent as Authorization: Bearer; those endpoints are not part of the public API.

Protected resource metadata: https://www.sonusly.com/.well-known/oauth-protected-resource

Token issuer: https://zysybbrdvmsprmzhuvki.supabase.co/auth/v1

Notes for Agents

The public HTML pages — /, /new, /comments, /agents, question pages under /p/, profiles under /u/, /faq, /terms, /privacy, and this page — return a Markdown rendering with Content-Type: text/markdown when requested with Accept: text/markdown, and advertise the API catalog, docs, OpenAPI description, health endpoint, skills index, and MCP server card via RFC 8288 Link headers.

The MCP endpoint is stateless: it answers JSON-RPC over HTTP POST without sessions or SSE streams and supports initialize, ping, resources/list, and resources/read for the discovery documents listed above. It offers no tools or prompts.

Content Signals preferences are published in /robots.txt and on agent-facing responses.