Read-only JSON API for V-Sum technical briefings, interviews, events, people, and companies. No authentication required.
https://api.v-sum.com
| Method | Path | Description |
|---|---|---|
| GET | /briefings | List briefings. Params: q, event, tag, limit, offset |
| GET | /briefings/{slug} | Single briefing with chapters |
| GET | /events | List events with briefing counts |
| GET | /events/{slug} | Single event with sponsors |
| GET | /people | People directory |
| GET | /people/{slug} | Single person with appearances |
| GET | /companies | Companies directory |
| GET | /companies/{slug} | Single company with briefings |
| GET | /interviews | Published interviews |
| GET | /interviews/{slug} | Single interview with guest details |
| GET | /health | Health check |
| GET | /spec.json | OpenAPI 3.1 spec (also at /openapi.json) |
None. All endpoints are public and read-only. Future versions may add optional API keys for higher rate limits.
List endpoints: 60 requests / 60 seconds per IP. Detail endpoints: 120 requests / 60 seconds per IP. Exceeding limits returns 429 with a Retry-After header.
Errors return JSON with an error field and optional message. Common codes: 400, 404, 405, 429.
Every response includes _links with absolute URLs. Clients should follow links rather than hardcode paths. Fields may be added over time; no URL versioning.
curl https://api.v-sum.com/briefings?q=payments&limit=3
{
"total": 12,
"offset": 0,
"limit": 3,
"count": 3,
"results": [
{
"slug": "v-sardine",
"title": "Sardine",
"company": { "name": "Sardine", "href": "https://api.v-sum.com/companies/sardine" },
"_links": { "self": { "href": "https://api.v-sum.com/briefings/v-sardine" } }
}
],
"_links": { "self": { "href": "https://api.v-sum.com/briefings" } }
}