Blooket Link Maker API

by mini_worthy2 · affiliated by DuckMath & Mystic Development

Public, no auth required. CORS is open, so you can call it from any origin.

POST /api/public/upload

Send multipart/form-data. Each copy is an independent Blooket CDN upload yielding 1 fresh link.

Fields

  • file — required. Max 25 MB.
  • copies — optional integer 1–4000 (default 1). Number of independent Blooket uploads.
  • directory — optional string (default uploads). Letters, numbers, . - _ /
  • accessCode — required whenever copies is greater than 1 (may also be sent as the x-access-code header). Get a code at dsc.gg/mysticdev.

Request

curl -X POST https://jacorn.is.sped.dumb.today/api/public/upload \
  -F "file=@photo.png" \
  -F "copies=3" \
  -F "accessCode=MYSTIC-XXXX-XXXX"

Response 200

{
  "ok": true,
  "file": { "name": "photo.png", "size": 20481, "contentType": "image/png" },
  "copies": 3,
  "count": 3,
  "mirrors": [
    { "label": "Blooket #1", "url": "https://..." },
    { "label": "Blooket #2", "url": "https://..." }
  ],
  "errors": {}
}

Errors

  • 400 — missing file or invalid directory.
  • 413 — file larger than 25 MB.
  • 502 — every mirror upload failed; see errors.

Partial failures still return 200 with the mirrors that succeeded and an errors map.

JavaScript

const form = new FormData();
form.set("file", file);
form.set("copies", "5");

const res = await fetch("/api/public/upload", { method: "POST", body: form });
const { mirrors, count } = await res.json();