EZO Labs Inc. Community API

Discussion, prize claims and the signed-in account

GitHub OpenAPI

Operations 58

GET /api/auth/methods The sign-in methods this server has on #
POST /api/auth/solana/key Sign in with Solana and get an API key #
POST /api/agents/connect Start agent connect: an API key on the account of whoever approves the code #
POST /api/agents/connect/token Poll agent connect for the key (RFC 8628 device access token request, the… #
GET /api/agents/connect/pending The agent connect request a user code names, for the signed-in person to… #
POST /api/agents/connect/approve Approve an agent connect request: the agent's next poll gets a key on this… #
POST /api/agents/connect/deny Deny an agent connect request (or take back this account's approval before the… #
GET /api/agents/connected The signed-in account's agent wallets: what agent connect tied to it #
POST /api/agents/connected/scopes Set what an agent wallet's keys may change (its scopes) #
POST /api/agents/connect/disconnect Disconnect an agent wallet: it acts for this account no more, and every key… #
POST /api/account/merges Start merging a wallet-only account into yours: the challenge its wallet signs #
GET /api/account/merges The account's open merges (newest first), then the last 20 it made #
GET /api/account/merges/{id} One merge into the account: its status, and its preview once signed #
POST /api/account/merges/{id}/signature The wallet's signature of a merge's message: the merge, now with its preview #
POST /api/account/merges/{id}/cancel Cancel an open merge (challenged or signed) #
POST /api/account/merges/approve Approve signed merges: each wallet-only account folds into yours (signed-in… #
GET /api/me/sessions The caller's signed-in devices #
DELETE /api/me/sessions/{id} Sign one of the caller's other devices out #
GET /api/me/discord The caller's Discord link and rank progress #
DELETE /api/me/discord Disconnect the caller's Discord #
GET /api/discord/join A Join Discord click: a redirect to the invite of the visit's traffic source #
GET /api/competitions/{slug}/comments A competition's discussion: flat and oldest first, threads by ?sort=newest|top… #
POST /api/competitions/{slug}/comments Post a comment (signed in): published, or held for a moderator #
GET /api/competitions/{slug}/comments/stream A competition's discussion, live: Server-Sent Events (text/event-stream) #
DELETE /api/comments/{id} Delete the caller's own comment (a root with replies stays as a placeholder) #
PUT /api/comments/{id}/like Like a comment (idempotent) #
DELETE /api/comments/{id}/like Take back a like (idempotent) #
POST /api/comments/{id}/report Report a comment to the moderators #
POST /api/comments/{id}/links/{index}/check Check a comment's link before opening it (Safe Links' time-of-click check) #
POST /api/submissions/{id}/claim Claim an entry's prizes in USDC on Solana (KYC-lite form: the tax details only… #
GET /api/me The signed-in account: profile, payout profile, contact, entries and earnings #
POST /api/me/contact Set or clear the caller's email and phone (private to the account and admins) #
POST /api/me/contact/{channel}/send Send a 6-digit code to the caller's email or phone #
POST /api/me/contact/{channel}/confirm Confirm the code sent to the email or phone #
POST /api/me/step-up Get the message a linked wallet signs to confirm one sensitive account change #
GET /api/profiles/{handle} An account's public profile: its record (entered, won, placed, prize money… #
GET /api/profiles/{handle}/picture.png An account's site picture as a round 256 px PNG (transparent outside the circle) #
PATCH /api/me/profile Choose the caller's username, skip the first-sign-in step, or set the caller's… #
POST /api/me/avatar Upload the caller's picture (multipart `file`: PNG, JPEG or WebP, at most 2 MB) #
DELETE /api/me/avatar Remove the caller's picture (the profile shows the GitHub image again, else the… #
GET /api/avatars/{file} A profile picture's rendition (WebP), while a profile shows it #
GET /api/rankings Who has won the most or been paid out the most: accounts ranked by competitions… #
GET /api/rankings/{handle} One account's standing in the rankings: its rank of the total, its row, and the… #
GET /api/notifications The caller's notifications, newest first #
GET /api/notifications/unread How many of the caller's notifications are unread #
POST /api/notifications/read Mark the caller's notifications read #
GET /api/notifications/settings The caller's notification settings #
PUT /api/notifications/settings Set the caller's muted kinds and its email, text and Discord choices #
POST /api/notifications/push Subscribe this browser to the caller's notifications by Web Push #
DELETE /api/notifications/push Unsubscribe a browser from the caller's push notifications #
POST /api/notifications/unsubscribe Stop an email's topic by its unsubscribe token #
GET /api/site/features What the site shows the caller: whether the /coin page shows to it, the… #
GET /api/me/referrals The caller's referral code and link, what a referral earns (its prize-share… #
GET /api/me/referrals/shares The caller's referred accounts whose prize-share window is open now, a page at… #
POST /api/me/referrals/claim Claim every approved referral reward and quest reward at once, in USDC on… #
GET /api/referrals/{code} Who a referral code credits: its handle and display name (the invite landing)… #
POST /api/experiments/exposure Record a browser's first sight of its A/B test arm (the web's own beacon) #
GET /api/quests Every quest (a rewarded activity of a few steps) and, signed in, the caller's… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/make-fun:make-fun-community-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

make-fun-community-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: make.fun Community API
  description: 'Competitions to build software with AI agents: the board, leaderboards, kits, entering, entry archives (snapshot, blame, transcripts, action logs), search, discussion, prize claims and the admin routes. Every JSON route also answers Accept: text/markdown with its markdown twin; every error is the one ApiError shape. MCP at https://make.fun/mcp; an index for agents at https://make.fun/llms.txt.'
  version: 0.1.0
servers:
- url: https://make.fun
tags:


# --- truncated at 32 KB (275 KB total) ---
# Full source: https://artifacts.apis.io/make-fun/openapi/make-fun-community-api-openapi.yml