Super Events (Hackathons)
A super event is a hackathon - the top-level container for one or more tracks
(events). :slug accepts a UUID or slug.
Creating a super event is not available via the API - going live involves payment and must be done from the dashboard.
Read
List hackathons GET /organizations/:orgSlug/super-events
{ "data": { "super_events": [ { "id": "2b9d7e10-4c8a-4f23-b6e1-9a3c5d7f0e22", "name": "AI Agents Hackathon 2026", "slug": "ai-agents-2026", "status": "final" } ], "count": 1 }} Get hackathon GET /super-events/:slug
{ "data": { "super_event": { "id": "2b9d7e10-4c8a-4f23-b6e1-9a3c5d7f0e22", "name": "AI Agents Hackathon 2026", "slug": "ai-agents-2026", "description": "Two days building autonomous agents.", "status": "final", "visibility": "public", "payment_status": "paid", "start_at": "2026-07-14T09:00:00.000Z", "end_at": "2026-07-16T18:00:00.000Z", "tz": "Europe/Berlin", "track_count": 3, "paid_track_count": 3, "paid_days": 7 } }} List registration fields GET /super-events/:superEventId/registration-fields
{ "data": { "fields": [ { "id": "9a4c2e80-7d31-4b6f-a2e8-1c5d9f3b0a47", "field_type": "select", "label": "Which track interests you?", "options": [ "Autonomous Agents", "Multi-Agent Systems", "Tooling" ], "is_required": true, "order_index": 0 } ] }} List role invites GET /super-events/:superEventId/role-invites
{ "data": { "invites": [ { "id": "e6b1d4a9-3c72-4f85-9a0e-2b7d8c1f6a30", "event_id": "5c1f8a73-6d2b-4e90-a1c4-7b8e3f0d2a16", "invited_email": "mei.tanaka@example.com", "role": "JUDGE", "status": "pending" } ] }} List teams GET /super-events/:superEventId/teams
{ "data": { "teams": [ { "id": "7e3a0c92-1b5d-4f86-9c20-2d4a6b8e1f53", "name": "Beat Wizards", "event_id": "5c1f8a73-6d2b-4e90-a1c4-7b8e3f0d2a16", "member_count": 4 } ], "count": 12 }}Write
Update hackathon PATCH /super-events/:id
{ "data": { "id": "2b9d7e10-4c8a-4f23-b6e1-9a3c5d7f0e22", "name": "AI Agents Hackathon 2026", "status": "final" }}{ "name": "AI Agents Hackathon 2026", "description": "Two days building autonomous agents.", "start_at": "2026-07-14T09:00:00.000Z", "end_at": "2026-07-16T18:00:00.000Z", "status": "final"}All fields optional - send any subset.
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | No | 2-100 chars; changing it regenerates the slug. |
description | string | No | |
tz | string | No | IANA timezone (e.g. Europe/Berlin). |
start_at | ISO 8601 string | No | If both dates are sent, must be before end_at. |
end_at | ISO 8601 string | No | |
max_participants | number | null | No | Positive integer, or null for no cap. |
visibility | string (enum) | No | public, unlisted, or private. |
format | string (enum) | No | onsite, online, or hybrid. |
config_json | object | No | Free-form configuration. |
status | string (enum) | No | draft or final. Setting final requires tz, start_at, and end_at. |
Delete hackathon DELETE /super-events/:id
{ "data": { "deleted": true }}Cascades soft-delete to all child tracks.
Add registration field POST /super-events/:superEventId/registration-fields
{ "data": { "id": "9a4c2e80-7d31-4b6f-a2e8-1c5d9f3b0a47", "super_event_id": "2b9d7e10-4c8a-4f23-b6e1-9a3c5d7f0e22", "field_type": "select", "label": "Which track interests you?" }}{ "field_type": "select", "label": "Which track interests you?", "options": [ "Autonomous Agents", "Multi-Agent Systems", "Tooling" ], "is_required": true, "order_index": 0, "validation_rules": { "min_length": 0, "max_length": 100 }}| Field | Type | Required | Notes |
|---|---|---|---|
field_type | string (enum) | Yes | One of text, textarea, url, email, phone, select, multiselect, radio, checkbox, date, file. |
label | string | Yes | |
description | string | No | Helper text. |
placeholder | string | No | |
options | string[] | No | Provide for choice fields (select, multiselect, radio). |
is_required | boolean | No | Defaults to false. |
order_index | number | No | Defaults to 0. |
validation_rules | object | No | Free-form rules object (e.g. min_length, max_length). |
Update registration field PATCH /super-event-registration-fields/:id
{ "data": { "id": "9a4c2e80-7d31-4b6f-a2e8-1c5d9f3b0a47", "field_type": "select", "label": "Updated label" }}{ "label": "Updated label", "is_required": false, "order_index": 1}All fields optional - send any subset.
| Field | Type | Required | Notes |
|---|---|---|---|
field_type | string | No | Same values as on create. |
label | string | No | |
description | string | No | |
placeholder | string | No | |
options | string[] | No | |
is_required | boolean | No | |
order_index | number | No | |
validation_rules | object | No |
Delete registration field DELETE /super-event-registration-fields/:id
{ "data": { "message": "Field deleted successfully" }} Create role invite POST /super-events/:superEventId/role-invites
{ "data": { "invites": [ { "id": "e6b1d4a9-3c72-4f85-9a0e-2b7d8c1f6a30", "event_id": "5c1f8a73-6d2b-4e90-a1c4-7b8e3f0d2a16", "invited_email": "mei.tanaka@example.com", "role": "JUDGE" } ], "errors": [] }}{ "email": "mei.tanaka@example.com", "role": "JUDGE", "trackIds": [ "5c1f8a73-6d2b-4e90-a1c4-7b8e3f0d2a16", "3f8b1d62-9c40-4e75-8a13-7d2e0b5c4f19" ], "message": "We would love to have you judge the Autonomous Agents Track."}| Field | Type | Required | Notes |
|---|---|---|---|
email | string | Yes | The invitee’s email. |
role | string (enum) | Yes | MENTOR, JUDGE, TECH_PARTNER, or PARTNER. |
trackIds | string[] | No | Track UUIDs to invite across. Omit to invite to all tracks of the super event. |
message | string | No | Optional note included with the invite. |
Invite a judge, mentor, tech partner, or partner across one or more tracks.
Allowed roles: MENTOR, JUDGE, TECH_PARTNER, PARTNER. Caller must be
OWNER/ADMIN of the org.