API reference
Put your chapter's data on your own website.
Every chapter on the ALL Applied AI Network has a live, public API: events, members, leaderboard, badges, merch, research projects, and learning-tree content. Officers edit it in their dashboard; your site reflects the change on the next page load, with no redeploy.
You almost certainly don't need an API key
Every per-chapter module below is readable through one public, CORS-open endpoint. If your site is static — a plain HTML site, a Vite or React SPA, anything served from GitHub Pages, S3, Netlify or Vercel without a server — that endpoint is the only correct option.
Bundlers inline environment variables (VITE_*, NEXT_PUBLIC_*, REACT_APP_*) into the JavaScript they ship to visitors. There is no such thing as a “server-side fetch” in a static build — the browser is doing the fetching whatever the code looks like, so a key placed there is a published key. The authenticated /api/v1/* endpoints exist for sites that genuinely run code on a server.
Quickstart
One request returns everything. Replace msoe-ai-club with your chapter's slug.
curl "https://dashboard.all-ai-network.org/api/public/chapter/msoe-ai-club/bundle"
// No API key. Safe to call from the browser.
const res = await fetch(
"https://dashboard.all-ai-network.org/api/public/chapter/msoe-ai-club/bundle?events=all"
);
const { chapter, events, projects, leaderboard } = await res.json();
console.log(chapter.name, "—", chapter.member_count, "members");
for (const p of projects) {
console.log(p.year, p.title, "by", p.members.map((m) => m.name).join(", "));
}
Responses are edge-cached about 30 seconds, so calling this on every page load is fine — don't build a client-side cache on top.
Endpoints
Five public endpoints. The chapter bundle covers most integrations on its own.
Chapter bundle
No keyEverything a chapter website needs in one round-trip: identity and counts, presentation config, events, leaderboard, badges, merch, projects, and social feeds. This is the endpoint most integrations should use.
GET/api/public/chapter/msoe-ai-club/bundle
Path parameters
slug | string | The chapter's slug, e.g. msoe-ai-club. |
Query parameters
events | upcoming | past | all | Which slice of the calendar to return. Defaults to upcoming — a chapter whose events are all in the past gets an empty array unless you ask for past or all. |
events_limit | integer | Cap on events returned. Defaults to 12 for upcoming, 100 otherwise; max 200. |
- CORS-open and edge-cached ~30 seconds, so calling it on every page load is fine.
- Read events_scope to tell 'nothing upcoming' apart from 'no events at all'.
- config carries the chapter's dashboard theme and section toggles. A site with its own design should ignore both — they exist for template sites that opted into remote control.
Example response
{
"chapter": {
"slug": "msoe-ai-club",
"name": "MSOE AI Club",
"university": "Milwaukee School of Engineering",
"member_count": 515,
"event_count": 56
},
"config": { "theme": { "primary": "#4f8fea", "accent": "#a855f7" }, "logo_url": "…", "sections": { … } },
"events": [ … ],
"events_scope": "upcoming",
"leaderboard": [ { "rank": 1, "name": "…", "points": 88, "badges": [ … ] } ],
"badges": [ … ],
"merch": [ … ],
"projects": [
{
"title": "NourishNet",
"year": "2023-2024",
"members": [ { "name": "Sydney Balboni", "role": "author" } ],
"files": [ { "kind": "paper", "url": "https://arxiv.org/pdf/2407.00698" } ]
}
],
"social_feeds": { }
}
Learning tree
No keyThe network's shared curriculum graph merged with the chapter's own nodes, as nodes and edges.
GET/api/public/learning-tree/msoe-ai-club
Path parameters
slug | string | The chapter's slug. |
- source distinguishes shared network nodes from chapter-authored ones.
- Honour pos_x/pos_y where present — an officer arranged those by hand. Only auto-layout nodes that have none.
- prereqs can list more than one parent. This is a graph, not a strict tree; a renderer assuming a single parent silently drops edges.
Example response
{
"chapter": { "slug": "msoe-ai-club", "name": "MSOE AI Club" },
"nodes": [
{
"id": "foundations/what-is-ai",
"title": "What Is AI? The Real Story",
"summary": "…",
"body": null,
"prereqs": [],
"tags": ["foundations"],
"thumbnail": "https://…",
"difficulty": "beginner",
"pos_x": -1240, "pos_y": 0,
"source": "base"
}
],
"edges": [ { "from": "…", "to": "…" } ]
}
Chapter site config
No keyJust the presentation config — theme, logo, section toggles, officers — without the rest of the bundle.
GET/api/public/config/msoe-ai-club
Path parameters
slug | string | The chapter's slug. |
- Use the bundle instead if you also need data; it includes this.
Chapter directory
No keyEvery chapter that has opted into network discovery, with its university and hub site.
GET/api/public/network/chapters
Network statistics
No keyAggregate, no-PII snapshot of the network: chapter count, member totals, and partner activity.
GET/api/public/network-stats
What's in the bundle
Each module below is a field on the bundle response. The same catalog drives the integration prompt in the chapter dashboard, so this list is always what the API actually returns.
Hub-site configuration
configFetch your chapter's theme colors, logo URL, and section toggles from the dashboard. Drives the site's CSS variables, header logo, and which components render.
No key /api/public/chapter/msoe-ai-club/bundle
API key /api/v1/config
Response shape
{
"config": {
"theme": { "primary": "#4f8fea", "accent": "#a855f7" },
"logo_url": "https://gdxifnnfirnzljtxnhch.supabase.co/storage/v1/object/public/chapter-logos/<chapter>/logo.png",
"sections": {
"hero": true,
"about": true,
"events": true,
"leaderboard": true,
"badges": true,
"merch": true,
"officers": true,
"learning_tree": true,
"playbooks": true,
"workshops": true
},
"updated_at": "2026-04-19T19:14:02.000Z"
}
}
Upcoming events
eventsRender your chapter's next events on your homepage. Auto-updates as you add events in the dashboard.
No key /api/public/chapter/msoe-ai-club/bundle
API key /api/v1/events
Response shape
{
"events": [
{
"id": "evt_abc123",
"title": "Intro to Applied AI",
"description": "Kick-off session for the semester.",
"type": "workshop",
"date": "2026-09-12T23:30:00.000Z",
"points_attend": 10,
"points_win": 0,
"checkin_count": 42
}
]
}
Leaderboard
leaderboardShow the top members by XP. Great for a homepage widget or a dedicated members page.
No key /api/public/chapter/msoe-ai-club/bundle
API key /api/v1/leaderboard
Response shape
{
"leaderboard": [
{ "name": "Jane Doe", "points": 1250, "events_attended": 18, "rank": 1 },
{ "name": "John Smith", "points": 1100, "events_attended": 16, "rank": 2 },
{ "name": "Aisha Khan", "points": 980, "events_attended": 14, "rank": 3 }
]
}
Chapter stats
chapterPull your chapter's name, university, member count, and event count — perfect for a hero banner or footer.
No key /api/public/chapter/msoe-ai-club/bundle
API key /api/v1/chapter
Response shape
{
"chapter": {
"name": "MSOE AI Club",
"university": "Milwaukee School of Engineering",
"slug": "msoe",
"member_count": 500,
"event_count": 142
}
}
Chapter badges
badgesRender the full catalog of recognition badges your chapter awards — with their name, description, icon, and how many members have earned each one.
No key /api/public/chapter/msoe-ai-club/bundle
API key /api/v1/badges
Response shape
{
"badges": [
{
"id": "bdg_nvidia_dli",
"name": "NVIDIA DLI",
"description": "Completed an NVIDIA Deep Learning Institute certification.",
"icon": "https://gdxifnnfirnzljtxnhch.supabase.co/storage/v1/object/public/badge-icons/<chapter>/nvidia-dli.png",
"award_count": 23
},
{
"id": "bdg_rosie_finalist",
"name": "ROSIE Competition Finalist",
"description": "Top 8 finish in the annual MAIC ROSIE hackathon.",
"icon": "award",
"award_count": 16
}
]
}
Merch catalog
merchDisplay the rewards your chapter offers in exchange for earned points — T-shirts, stickers, workshop vouchers — so members know what they're working toward.
No key /api/public/chapter/msoe-ai-club/bundle
API key /api/v1/merch
Response shape
{
"merch": [
{
"id": "mrch_tshirt",
"name": "MAIC T-Shirt",
"description": "Classic black tee with the MAIC logo.",
"cost_points": 75,
"image_url": "https://gdxifnnfirnzljtxnhch.supabase.co/storage/v1/object/public/merch-images/<chapter>/tshirt.jpg",
"stock": 12,
"is_active": true,
"created_at": "2026-04-19T14:02:31.000Z"
},
{
"id": "mrch_stickers",
"name": "Sticker pack",
"description": "Three vinyl stickers — MAIC logo, ROSIE, NVIDIA-Olympus.",
"cost_points": 15,
"image_url": null,
"stock": null,
"is_active": true,
"created_at": "2026-04-19T14:03:11.000Z"
}
]
}
Club social feed
social_feedsLatest public posts from the club's linked LinkedIn and Instagram accounts, synced on demand from the dashboard. Renders as a card grid; hides itself until the eboard has synced a feed.
No key /api/public/chapter/msoe-ai-club/bundle
Response shape
{
"social_feeds": {
"linkedin": {
"source_url": "https://www.linkedin.com/company/msoe-ai-club",
"synced_at": "2026-07-16T14:03:22.000Z",
"posts": [
{
"id": "7351234567890",
"url": "https://www.linkedin.com/posts/...",
"posted_at": "2026-07-12T18:30:00.000Z",
"content": "Our Spring Innovation Lab teams just demoed...",
"image_url": "https://media.licdn.com/dms/image/...",
"likes": 42,
"comments": 7
}
]
},
"instagram": {
"source_url": "https://www.instagram.com/msoe.aiclub/",
"synced_at": "2026-07-16T14:05:10.000Z",
"posts": [
{
"id": "3391234567890",
"url": "https://www.instagram.com/p/ABC123/",
"posted_at": "2026-07-10T21:00:00.000Z",
"content": "Workshop night recap!",
"image_url": "https://scontent.cdninstagram.com/...",
"likes": 88,
"comments": 12
}
]
}
}
}
Projects & research
projectsThe chapter's project and research history — each with its team, papers, slides, and recordings.
No key /api/public/chapter/msoe-ai-club/bundle
Response shape
{
"projects": [
{
"id": "\u2026",
"title": "NourishNet",
"description": "Forecasting food commodity price spikes\u2026",
"image_url": "https://\u2026/team-logo.png",
"link_url": null,
"year": "2023-2024",
"members": [
{
"name": "Sydney Balboni",
"role": "author"
},
{
"name": "John Cisler",
"role": "author"
}
],
"files": [
{
"id": "\u2026",
"kind": "paper",
"title": "NourishNet \u2014 paper",
"url": "https://arxiv.org/pdf/2407.00698"
}
]
}
]
}
Learning tree
The network's shared AI curriculum graph merged with this chapter's own nodes.
No key /api/public/learning-tree/msoe-ai-club
Response shape
{
"chapter": {
"slug": "\u2026",
"name": "\u2026"
},
"nodes": [
{
"id": "foundations/what-is-ai",
"title": "What Is AI? The Real Story",
"summary": "\u2026",
"body": null,
"parent_ref": null,
"prereqs": [],
"tags": [
"foundations"
],
"thumbnail": "https://\u2026",
"difficulty": "beginner",
"pos_x": -1240,
"pos_y": 0,
"source": "base"
}
],
"edges": [
{
"from": "\u2026",
"to": "\u2026"
}
]
}
Wiring this up with a coding agent
Most chapters point an AI coding agent at their existing website repo rather than writing the integration by hand. Two machine- readable entry points exist for that:
/llms.txt — a short summary written for agents, including the mistakes that cost people the most time./openapi.json — OpenAPI 3.1, for tooling that speaks it.
Chapter officers can also copy a ready-made integration prompt from the dashboard's Website tab. It carries your slug, surveys your site before changing anything, and rewires the sections you already have instead of bolting on new ones.
Authenticated API
For sites that run code on a server, per-module /api/v1/* endpoints accept a chapter API key as a bearer token:
curl "https://dashboard.all-ai-network.org/api/v1/events?upcoming=true" \
-H "Authorization: Bearer $AAIN_API_KEY"
Officers request a key from the dashboard's Website tab. Keys are scoped to one chapter. Keep them in server-only environment variables — never in a variable your bundler will inline.