Events
An event groups one or more markets under a real-world occurrence (e.g. “2026 Estonian Parliamentary Election”). Use the categories endpoints to browse events by topic.
GET /api/v1/events/:id
Returns a single event with all of its nested markets.
Auth: None
Rate limit: v1: 60 req / 60 s per IP
Path parameters
| Param | Type | Description |
|---|---|---|
id | UUID | Event identifier |
Response
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "2026 Estonian Parliamentary Election",
"description": "Markets for the 2026 Riigikogu election.",
"category": "estonian_politics",
"startsAt": "2026-03-01T00:00:00.000Z",
"endsAt": "2026-03-15T23:59:59.000Z",
"createdAt": "2025-11-10T12:00:00.000Z",
"thumbnailId": "d4e5f6a7-b8c9-0123-def0-234567890123",
"thumbnailUrl": "https://cdn.juhus.ee/thumbnails/election-2026.webp",
"markets": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"title": "Will Reform Party win the most seats?",
"description": "Resolves YES if Reform Party gets the most Riigikogu seats.",
"status": "open",
"lastTradePrice": 58,
"yesVolume": 124500,
"noVolume": 87300,
"closeTime": "2026-03-01T20:00:00.000Z",
"resolvedOutcome": null,
"thumbnailId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"thumbnailUrl": "https://cdn.juhus.ee/thumbnails/reform-2026.webp"
}
]
}Event fields
| Field | Type | Description |
|---|---|---|
id | UUID string | Event identifier |
title | string | Event title |
description | string | null | Optional description |
category | string | Category slug |
startsAt | ISO 8601 | null | When the event starts |
endsAt | ISO 8601 | null | When the event ends |
createdAt | ISO 8601 | Creation timestamp |
thumbnailId | UUID string | null | Thumbnail image id; null if none set |
thumbnailUrl | string | null | Thumbnail image URL; null if none set |
markets | array | Nested markets (ordered by creation time) |
Nested market fields
| Field | Type | Description |
|---|---|---|
id | UUID string | Market identifier |
title | string | Market title |
description | string | Market description |
status | string | open | paused | closed | resolved |
lastTradePrice | integer | null | Most recent trade price (1–99) |
yesVolume | integer | Total YES-side volume in EUR-cents |
noVolume | integer | Total NO-side volume in EUR-cents |
closeTime | ISO 8601 | null | Scheduled trading close time |
resolvedOutcome | "yes" | "no" | "custom" | null | Resolution result; null while unresolved |
thumbnailId | UUID string | null | Thumbnail image id; null if none set |
thumbnailUrl | string | null | Thumbnail image URL; null if none set |
Errors
| Status | Body | When |
|---|---|---|
400 | { "error": "Invalid id" } | id is not a valid UUID |
404 | { "error": "Event not found" } | No event with that id |
Example
curl https://juhus.ee/api/v1/events/a1b2c3d4-e5f6-7890-abcd-ef1234567890