Spring til indhold
Udvikler-API

Byg aktiviteter fra dit eget system

Ét POST-kald pr. aktivitetstype. Send dit indhold som JSON, og få en aktivitet i din Puzzel.org-konto og en URL, du kan give til spillerne eller sætte ind i et iframe.

Base-URL
https://puzzel.org/api/public/v1
Godkendelse
Nøgle + e-mail i JSON-bodyen
Endpoints
38 aktivitetstyper
Kvote
10 aktiviteter om dagen

Din første anmodning

Intet at installere og intet håndtryk: send en JSON-body med din nøgle, din e-mail og dit indhold. Svaret indeholder den nye aktivitets nøgle og den URL, den spilles på.

POST crossword
curl -X POST https://puzzel.org/api/public/v1/crossword \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Crossword",
  "language": "da",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

Hvert eksempel på denne side er en komplet anmodning, du kan køre direkte. Sæt din egen nøgle og dit eget indhold ind, og det virker uden ændringer.

Godkendelse

Der er ingen headers og ingen bearer-token. Begge oplysninger sendes i JSON-bodyen for hver anmodning, og nøglen bliver kun accepteret for den konto, som e-mailen tilhører.

FeltTypeHvad det gør
account_api_key
påkrævet
string
stringDin kontos API-nøgle. Den bliver sendt i bodyen, ikke i en header.
email
påkrævet
string
stringAdressen, din Puzzel.org-konto logger ind med. Nøglen er kun gyldig sammen med den.

Din nøgle ligger under kontoafsnittet på dit dashboard, bag Vis.

Log ind

API-nøgler bliver uddelt, når et abonnement starter, så en gratis konto har endnu ikke en.

Se planerne

Behandl nøglen som en adgangskode. Den opretter og overskriver aktiviteter på din konto, så hold den på serversiden og væk fra alt, en browser kan læse.

Anmodningens body

Hvert endpoint tager de samme fem felter. Det, der adskiller dem, er content-feltet nedenunder: de fleste tager en liste af items, nogle få tager én sentence eller ét image, og sudoku tager slet intet.

FeltTypeHvad det gør
account_api_key
påkrævet
string
stringDin kontos API-nøgle. Den bliver sendt i bodyen, ikke i en header.
email
påkrævet
string
stringAdressen, din Puzzel.org-konto logger ind med. Nøglen er kun gyldig sammen med den.
title
valgfri
string
stringNavnet, aktiviteten får på dit dashboard. Udelad det, så bruger endpointet sit eget standardnavn.
language
valgfri
string
stringBestemmer kun locale i den URL, du får tilbage — den oversætter ikke noget af det, du sender. Ordsøgning bruger den også til at skifte fyldbogstaverne til arabisk, når den er "ar".
Standard: "en"
activity_key
valgfri
string
stringUdelad det for at oprette en ny aktivitet. Angiv nøglen til en, du allerede ejer, så bliver den aktivitet genopbygget i stedet.

settings er et objekt med indstillinger for det enkelte endpoint. Hvilke indstillinger et endpoint læser, står angivet under det; alt andet, du putter der, bliver ignoreret.

Hvad du får tilbage

Et vellykket kald svarer 200 med den nye aktivitets nøgle og den URL, den spilles på. Alt andet svarer med success sat til false og en enkelt error-streng.

Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}
Fejl
{
  "success": false,
  "error": "Invalid Email or API Key"
}

Den url, du får tilbage, er embed-visningen. Skift embed ud med play for at åbne den i fuld side, eller med build for at åbne den i editoren — nøglen efter p= er den samme.

Oprettelse vs. opdatering

Send activity_key, så bliver aktiviteten bag den genopbygget på stedet: dens indhold bliver udskiftet, dens navn og versionsstempel bliver opdateret, og selve nøglen forbliver den samme — så links og indlejringer, du allerede har delt, bliver ved med at virke. Resultater, mappeplacering og alle indstillinger, som endpointet ikke selv skriver til, forbliver som de var.

activity_key
{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "activity_key": "-Nq8sample_activity_key",
  "title": "Fruit crossword, week 2",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ]
}
  • title bliver anvendt ved hver opdatering, også dens standardværdi — udelad det, så bliver aktiviteten omdøbt til det pågældende endpoints standardnavn.
  • De indstillingsblokke, et endpoint selv skriver til, bliver skrevet helt om, så en opdatering også nulstiller dem til de værdier, du sender, eller til endpointets standardværdier.
  • Du kan kun opdatere aktiviteter, din egen konto ejer. En andens nøgle svarer 403.
  • En opdatering koster det samme som en oprettelse: ét kald af dagens kvote.

Kaldegrænse

10
10 aktiviteter pr. konto pr. dag

Hvert vellykket kald tæller, oprettelser og opdateringer på lige fod. Går du over grænsen, svarer den næste anmodning 429, indtil tælleren bliver nulstillet.

Tælleren bliver nulstillet én gang om dagen af et planlagt job, ikke over et glidende 24-timers vindue.

Fejl

Fejl kommer altid som JSON med de samme to felter, aldrig som en HTML-side. Error-strengen er skrevet, så et menneske kan læse den — den navngiver det felt eller den grænse, der fejlede.

StatusHvad det betyder
400
Bad Request
Noget i bodyen mangler, er forkert formet eller ligger uden for det tilladte område. Beskeden navngiver feltet.
401
Unauthorized
E-mailen er ukendt, eller nøglen hører ikke til den konto.
403
Forbidden
Den activity_key, du sendte, hører til en anden konto.
429
Too Many Requests
Dagens kvote er brugt op. Den nulstilles én gang om dagen.
500
Server Error
Generatoren kunne ikke bygge en opgave ud fra det, du sendte — som regel for få ord, eller ord, der ikke kan passes sammen.

Endpoints

Én sti pr. aktivitetstype, alle er POST, alle under samme base-URL. Hver enkelt lister det indhold, den skal bruge, de settings, den læser, og en anmodning, du kan køre.

Ord & bogstaver

Krydsord

Sammenfletter dine svar i et gitter og nummererer definitionerne for dig.

#
POST /api/public/v1/crossword 2 til 80 i items
Indhold

En liste af ord. Hver post parrer svaret med den clue, der peger på det.

Falder tilbage til navnet “Crossword API”

Værd at vide
  • Svar, der er kortere end to tegn, bliver fjernet, før gitteret bliver bygget, og mindst to skal overleve det.
  • Svar bliver sat med store bogstaver, og generatoren får tyve forsøg til at placere dem. Hvis den ikke kan placere et eneste ord, svarer kaldet 500.
Settings, den læser
FeltTypeHvad det gør
hidden_solution
valgfri i settings
string
stringEt valgfrit bonusord. Dets bogstaver bliver markeret i felter i det færdige gitter, som spillerne kan samle, når krydsordet er løst, så hvert bogstav i det skal findes i svarene.
Eksempel på anmodning
POST crossword
curl -X POST https://puzzel.org/api/public/v1/crossword \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Crossword",
  "language": "da",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

Ordsøgning

Gemmer dine ord i et bogstavgitter, i de retninger og den form, du vælger.

#
POST /api/public/v1/wordseeker 2 til 40 i items
Indhold

En liste af ord. Clue-teksten bliver den ordbeholdning, spillerne arbejder ud fra.

Falder tilbage til navnet “Wordseeker API”

Værd at vide
  • Svar under to tegn bliver fjernet, og hvert svar bliver sat med store bogstaver, før det kommer ind i gitteret.
  • Gitteret bliver fyldt op med latinske bogstaver, medmindre language er "ar", hvilket skifter fyldbogstaverne til arabisk.
Settings, den læser
FeltTypeHvad det gør
hidden_solution
valgfri i settings
string
stringDe resterende bogstaver staver dette. Når du angiver den, fortæller det også generatoren, at den skal placere løsningen først i stedet for at proppe så mange ord ind, den kan.
directions
valgfri i settings
string[]
string[]Hvilke retninger et ord må løbe i. Udelad det, og ord løber kun mod øst, sydøst og syd.
En af westeastnorthsouthnorthwestnortheastsouthwestsoutheast
Standard: ["east", "southeast", "south"]
template
valgfri i settings
string
stringSkærer gitteret til i en form i stedet for at lade det være kvadratisk.
En af squarecirclecrossdiamondpyramidsmileystarcross_plus
Eksempel på anmodning
POST wordseeker
curl -X POST https://puzzel.org/api/public/v1/wordseeker \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wordseeker",
  "language": "da",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "FRUIT",
    "directions": [
      "east",
      "south",
      "southeast"
    ],
    "template": "square"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordseeker/embed?p=-Nq8sample_activity_key",
  "message": "Wordseeker created successfully"
}

Akrostikon

Stabler dine svar, så én kolonne staver et skjult ord.

#
POST /api/public/v1/acrostic 1 til 40 i items
Indhold

En liste af ord. Tilsammen skal de levere hvert bogstav i det skjulte ord.

Falder tilbage til navnet “Acrostic API”

Værd at vide
  • Hvis svarene ikke kan levere de bogstaver, løsningen har brug for, svarer kaldet 500 i stedet for at gemme et halvfærdigt gitter.
  • Generatoren omarrangerer dine svar, så kolonnen går op, så den rækkefølge, du sender, ikke er den rækkefølge, spillerne ser.
Settings, den læser
FeltTypeHvad det gør
hidden_solution
påkrævet i settings
string
stringOrdet, den fremhævede kolonne staver. Dette endpoint kan ikke køre uden det.
Eksempel på anmodning
POST acrostic
curl -X POST https://puzzel.org/api/public/v1/acrostic \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Acrostic",
  "language": "da",
  "items": [
    {
      "answer": "PEACH",
      "description": "Fuzzy skin, sweet flesh",
      "type": "text"
    },
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "PLUM"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/acrostic/embed?p=-Nq8sample_activity_key",
  "message": "Acrostic created successfully"
}

Bogstavsalat

api_e_word_scramble

#
POST /api/public/v1/word-scramble 1 til 40 i items
Indhold

api_c_word_scramble

Falder tilbage til navnet “Word Scramble API”

Værd at vide
  • Aktiviteter, der bliver lavet via API'en, har altid indstillingen bland-rækkefølgen slået til, så den rækkefølge, du sender, ikke er den rækkefølge, spillerne får.
Settings, den læser
FeltTypeHvad det gør
hidden_solution
valgfri i settings
string
stringEt valgfrit bonusord, spillerne indtaster, når resten er løst.
Eksempel på anmodning
POST word-scramble
curl -X POST https://puzzel.org/api/public/v1/word-scramble \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Word Scramble",
  "language": "da",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "FRUIT"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/word-scramble/embed?p=-Nq8sample_activity_key",
  "message": "Word Scramble created successfully"
}

Galgeleg

Gør dine ord eller udtryk til gæt-bogstavet-runder.

#
POST /api/public/v1/hangman 1 til 50 i items
Indhold

En liste af ord eller korte udtryk. Clue er det tip, spillerne ser.

Falder tilbage til navnet “Hangman API”

Eksempel på anmodning
POST hangman
curl -X POST https://puzzel.org/api/public/v1/hangman \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Hangman",
  "language": "da",
  "items": [
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/hangman/embed?p=-Nq8sample_activity_key",
  "message": "Hangman created successfully"
}

Wordle

Laver et gæt-ordet-spil ud af hvert ord, du sender.

#
POST /api/public/v1/wordle 1 til 50 i items
Indhold

En liste af ord. Spillerne får én runde pr. ord.

Falder tilbage til navnet “Wordle API”

Værd at vide
  • Lavet med indstillingen tjek-at-gæt-er-rigtige-ord slået til. Slå den fra i editoren, hvis dine ord er navne eller opdigtede.
Eksempel på anmodning
POST wordle
curl -X POST https://puzzel.org/api/public/v1/wordle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wordle",
  "language": "da",
  "items": [
    {
      "answer": "MELON",
      "description": "Sweet and green",
      "type": "text"
    },
    {
      "answer": "PEACH",
      "description": "Fuzzy and orange",
      "type": "text"
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordle/embed?p=-Nq8sample_activity_key",
  "message": "Wordle created successfully"
}

Tastetræning

api_e_typing_practice

#
POST /api/public/v1/typing-practice 1 til 50 i items
Indhold

api_c_typing_practice

Falder tilbage til navnet “Typing Practice API”

Eksempel på anmodning
POST typing-practice
curl -X POST https://puzzel.org/api/public/v1/typing-practice \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Typing Practice",
  "language": "da",
  "items": [
    {
      "answer": "The quick brown fox jumps over the lazy dog",
      "description": "Every letter of the alphabet",
      "type": "text"
    },
    {
      "answer": "Pack my box with five dozen liquor jugs",
      "description": "Another pangram",
      "type": "text"
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/typing-practice/embed?p=-Nq8sample_activity_key",
  "message": "Typing Practice created successfully"
}

Lykkehjul

api_e_wheel_of_fortune

#
POST /api/public/v1/wheel-of-fortune 1 til 50 i items
Indhold

api_c_wheel_of_fortune

Falder tilbage til navnet “Wheel of Fortune API”

Værd at vide
  • Lavet med "vis kun udfaldet på hjulet", så resultatet bliver aflæst på hjulet i stedet for annonceret ved siden af det.
Eksempel på anmodning
POST wheel-of-fortune
curl -X POST https://puzzel.org/api/public/v1/wheel-of-fortune \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wheel of Fortune",
  "language": "da",
  "items": [
    {
      "answer": "Read a page aloud",
      "description": "Segment 1",
      "type": "text"
    },
    {
      "answer": "Name three fruits",
      "description": "Segment 2",
      "type": "text"
    },
    {
      "answer": "Spell it backwards",
      "description": "Segment 3",
      "type": "text"
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wheel-of-fortune/embed?p=-Nq8sample_activity_key",
  "message": "Wheel of Fortune created successfully"
}

Svensk krydsord

Et svensk krydsord: definitionerne står inde i gitteret, hver med en pil til sit svar.

#
POST /api/public/v1/arrowword 2 til 80 i items
Indhold

En liste af ord. Hver post parrer svaret med en clue, der er kort nok til at være i ét felt.

Falder tilbage til navnet “Arrowword API”

Settings, den læser
FeltTypeHvad det gør
hidden_solution
valgfri i settings
string
stringEt valgfrit bonusord. Dets bogstaver bliver markeret i felter i det færdige gitter, så hvert bogstav i det skal findes i svarene.
Eksempel på anmodning
POST arrowword
curl -X POST https://puzzel.org/api/public/v1/arrowword \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Arrowword",
  "language": "da",
  "items": [
    {
      "answer": "Stockholm",
      "description": "Capital of Sweden",
      "type": "text"
    },
    {
      "answer": "Oslo",
      "description": "Capital of Norway",
      "type": "text"
    },
    {
      "answer": "Helsinki",
      "description": "Capital of Finland",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "North"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/arrowword/embed?p=-Nq8sample_activity_key",
  "message": "Arrowword created successfully"
}

Strands

Et gitter, hvor hvert bogstav hører til et ord inden for et tema, og hvor ét ord, der navngiver temaet, løber fra den ene kant til den anden.

#
POST /api/public/v1/strands 2 til 24 i items
Indhold

En liste af temaord. Sammen med spangrammet skal deres bogstaver fylde gitteret præcis ud.

Falder tilbage til navnet “Strands API”

Værd at vide
  • Bogstaverne i alle ordene og i spangrammet skal tilsammen give præcis 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 eller 80. Ethvert andet antal svarer 400 og fortæller, hvor mange bogstaver du skal tilføje eller fjerne.
Settings, den læser
FeltTypeHvad det gør
theme
valgfri i settings
string
stringGåden, der bliver vist over gitteret. Udelades den, ser spillerne titlen.
spangram
valgfri i settings
string
stringOrdet eller udtrykket, der navngiver temaet og krydser gitteret fra den ene kant til den anden.
Eksempel på anmodning
POST strands
curl -X POST https://puzzel.org/api/public/v1/strands \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Strands",
  "language": "da",
  "items": [
    {
      "answer": "whisk",
      "type": "text"
    },
    {
      "answer": "ladle",
      "type": "text"
    },
    {
      "answer": "spatula",
      "type": "text"
    },
    {
      "answer": "grater",
      "type": "text"
    },
    {
      "answer": "peeler",
      "type": "text"
    },
    {
      "answer": "skillet",
      "type": "text"
    }
  ],
  "settings": {
    "theme": "What the cook reaches for",
    "spangram": "Kitchen tools"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/strands/embed?p=-Nq8sample_activity_key",
  "message": "Strands created successfully"
}

Nævneleg

api_e_name_them_all

#
POST /api/public/v1/name-them-all 1 til 250 i items
Indhold

api_c_name_them_all

Falder tilbage til navnet “Name Them All API”

Værd at vide
  • En post er et objekt med et answer og eventuelt aliases (andre stavemåder, der tæller), en description (tippet) og en group. Store bogstaver, accenter og tegnsætning bliver ignoreret, når et navn bliver tjekket.
Settings, den læser
FeltTypeHvad det gør
list_match_mode
valgfri i settings
string
stringOm et navn tæller i det øjeblik, det bliver skrevet, eller først, når der trykkes på Enter.
En af while_typingon_enter
Standard: "while_typing"
list_slot_hint
valgfri i settings
string
stringHvad en tom plads afslører: ingenting, navnets længde, dets første bogstav eller det tip, du har skrevet.
En af nonelengthfirst_letterhint
Standard: "none"
list_arrange
valgfri i settings
string
stringÉn kolonne pr. gruppe eller én liste.
En af groupsone_list
Standard: "groups"
list_allow_give_up
valgfri i settings
boolean
booleanViser en knap til at give op, der afslutter runden og afslører det, der blev overset.
Standard: false
Eksempel på anmodning
POST name-them-all
curl -X POST https://puzzel.org/api/public/v1/name-them-all \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Name Them All",
  "language": "da",
  "items": [
    {
      "answer": "United Kingdom",
      "aliases": [
        "UK",
        "Great Britain",
        "Britain"
      ],
      "group": "Islands"
    },
    {
      "answer": "Ireland",
      "aliases": [
        "Éire"
      ],
      "group": "Islands"
    },
    {
      "answer": "Côte d'Azur's neighbour Monaco",
      "aliases": [
        "Monaco"
      ],
      "description": "The smallest one",
      "group": "Mainland"
    }
  ],
  "settings": {
    "list_slot_hint": "first_letter",
    "list_match_mode": "on_enter",
    "list_allow_give_up": true
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/name-them-all/embed?p=-Nq8sample_activity_key",
  "message": "Name them all list created successfully"
}
Kort & par

Memory

Vendte kort, der skal vendes om og parres.

#
POST /api/public/v1/memory 2 til 30 i items
Indhold

En liste af par. Hvert par indeholder de to kort, der hører sammen.

Falder tilbage til navnet “Memory Game API”

Værd at vide
  • Et kort er et objekt med en type og en value. Brug "text" til ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og tilføj alt for en beskrivelse.
Eksempel på anmodning
POST memory
curl -X POST https://puzzel.org/api/public/v1/memory \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Memory Game",
  "language": "da",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/memory/embed?p=-Nq8sample_activity_key",
  "message": "Memory game created successfully"
}

Forbind dem

api_e_matching_pairs

#
POST /api/public/v1/matching-pairs 2 til 30 i items
Indhold

api_c_matching_pairs

Falder tilbage til navnet “Matching Game API”

Værd at vide
  • Et kort er et objekt med en type og en value. Brug "text" til ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og tilføj alt for en beskrivelse.
Eksempel på anmodning
POST matching-pairs
curl -X POST https://puzzel.org/api/public/v1/matching-pairs \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Matching Game",
  "language": "da",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/matching-pairs/embed?p=-Nq8sample_activity_key",
  "message": "Matching pairs game created successfully"
}

Huskekort

api_e_flash_cards

#
POST /api/public/v1/flash-cards 1 til 150 i items
Indhold

api_c_flash_cards

Falder tilbage til navnet “Flash Cards API”

Værd at vide
  • Endpointet gemmer lige så mange kort, som du sender, så send præcis to pr. post — forside, så bagside.
  • Et kort er et objekt med en type og en value. Brug "text" til ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og tilføj alt for en beskrivelse.
Eksempel på anmodning
POST flash-cards
curl -X POST https://puzzel.org/api/public/v1/flash-cards \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Flash Cards",
  "language": "da",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/flash-cards/embed?p=-Nq8sample_activity_key",
  "message": "Flash Cards created successfully"
}

Sorteringsopgave

Kort, der skal sorteres i den kategori, de hører til i.

#
POST /api/public/v1/categorize Mindst 2 i items · højst 60 kort i alt
Indhold

En liste af kategorier, hver med et navn og de kort, der hører til i den.

Falder tilbage til navnet “Categorize Game API”

Værd at vide
  • En kategori, der bliver sendt uden navn, bliver gemt som "Untitled Category", så send altid ét.
  • Et kort er et objekt med en type og en value. Brug "text" til ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og tilføj alt for en beskrivelse.
Eksempel på anmodning
POST categorize
curl -X POST https://puzzel.org/api/public/v1/categorize \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Categorize Game",
  "language": "da",
  "items": [
    {
      "name": "Red fruits",
      "cards": [
        {
          "type": "text",
          "value": "Strawberry"
        },
        {
          "type": "text",
          "value": "Cherry"
        }
      ]
    },
    {
      "name": "Yellow fruits",
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "Lemon"
        }
      ]
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/categorize/embed?p=-Nq8sample_activity_key",
  "message": "Categorize game created successfully"
}

Rækkefølgeopgave

En sekvens, spillerne skal sætte i rækkefølge igen.

#
POST /api/public/v1/reorder Mindst 1 i items · højst 60 kort i alt
Indhold

En liste af sekvenser. Hver indeholder sine kort i den rigtige rækkefølge.

Falder tilbage til navnet “Reorder Game API”

Værd at vide
  • Den rækkefølge, du sender, bliver gemt som den rigtige rækkefølge — nummer et først.
  • Et kort er et objekt med en type og en value. Brug "text" til ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og tilføj alt for en beskrivelse.
Eksempel på anmodning
POST reorder
curl -X POST https://puzzel.org/api/public/v1/reorder \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Reorder Game",
  "language": "da",
  "items": [
    {
      "name": "From seed to fruit",
      "cards": [
        {
          "type": "text",
          "value": "Plant the seed"
        },
        {
          "type": "text",
          "value": "Water it"
        },
        {
          "type": "text",
          "value": "Watch it grow"
        },
        {
          "type": "text",
          "value": "Pick the fruit"
        }
      ]
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/reorder/embed?p=-Nq8sample_activity_key",
  "message": "Reorder game created successfully"
}

Bingo

Et klassebingo, som værten råber op live: hver spiller får et kort trukket fra dine items.

#
POST /api/public/v1/bingo Tager ingen items
Indhold

En liste af items, kortene bliver trukket fra. Send tydeligt flere, end et kort har felter, så kortene bliver forskellige.

Falder tilbage til navnet “Bingo API”

Værd at vide
  • Et item er et objekt med en value og eventuelt en type ("text", "image" eller "audio" med en URL i value), en description (den definition, værten læser op i clues-tilstand) og alt.
Settings, den læser
FeltTypeHvad det gør
mode
valgfri i settings
string
stringHvad der fylder felterne: dine items, dine items råbt op ved deres definition, eller almindelige tal (som ikke kræver nogen items).
En af itemscluesnumbers
Standard: "items"
rows
valgfri i settings
number
numberRækker på hvert kort, 2 til 5.
Standard: 3
columns
valgfri i settings
number
numberKolonner på hvert kort, 2 til 5.
Standard: 3
highest_number
valgfri i settings
number
numberI talfunktionen bliver kortene fyldt fra 1 op til dette tal, højst 100. En planfunktion: uden en plan forbliver den 50.
Standard: 50
Eksempel på anmodning
POST bingo
curl -X POST https://puzzel.org/api/public/v1/bingo \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Bingo",
  "language": "da",
  "items": [
    {
      "type": "text",
      "value": "Paris",
      "description": "The capital of France"
    },
    {
      "type": "text",
      "value": "Berlin",
      "description": "The capital of Germany"
    },
    {
      "type": "text",
      "value": "Madrid",
      "description": "The capital of Spain"
    }
  ],
  "settings": {
    "mode": "clues",
    "rows": 3,
    "columns": 4,
    "highest_number": 75
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/bingo/embed?p=-Nq8sample_activity_key",
  "message": "Bingo created successfully"
}

Jeg har, hvem har

api_e_i_have_who_has

#
POST /api/public/v1/i-have-who-has 3 til 40 i items
Indhold

api_c_i_have_who_has

Falder tilbage til navnet “I Have, Who Has API”

Værd at vide
  • Intet spørgsmål og intet svar må optræde to gange: en elev, der holder svaret, ville ikke kunne se, hvilket spørgsmål det hører til.
Settings, den læser
FeltTypeHvad det gør
chain_shape
valgfri i settings
string
stringEn løkke lukker sig om sig selv, så ethvert kort kan starte; en linje åbner med et Start-kort og slutter med et Slut-kort.
En af loopline
Standard: "loop"
Eksempel på anmodning
POST i-have-who-has
curl -X POST https://puzzel.org/api/public/v1/i-have-who-has \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "I Have, Who Has",
  "language": "da",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "3 × 4"
        },
        {
          "type": "text",
          "value": "12"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "6 × 7"
        },
        {
          "type": "text",
          "value": "42"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "9 × 9"
        },
        {
          "type": "text",
          "value": "81"
        }
      ]
    }
  ],
  "settings": {
    "chain_shape": "line"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/i-have-who-has/embed?p=-Nq8sample_activity_key",
  "message": "I have, who has created successfully"
}

Kodelås

En kodelås: en række kort, hvoraf nogle tilsammen udgør koden.

#
POST /api/public/v1/keypad 1 til 30 i items
Indhold

En liste af kort. De kort, der er med i koden, bærer deres plads i den.

Falder tilbage til navnet “Keypad API”

Værd at vide
  • Et kort er et objekt med en value og eventuelt en type ("text", "image" eller "audio" med en URL i value), alt og code_position: dets plads i koden, 1 først. Et kort kan kun være med i koden én gang, og mindst ét kort skal være det.
Settings, den læser
FeltTypeHvad det gør
instructions
valgfri i settings
string
stringSpørgsmålet eller gåden, koden er svaret på, vist sammen med kortene.
force_solution_in_correct_order
valgfri i settings
boolean
booleanKortene skal trykkes i rækkefølge. Slået fra åbner enhver rækkefølge af de rigtige kort låsen.
Standard: false
randomize_order
valgfri i settings
boolean
booleanHver spiller får kortene i en blandet rækkefølge.
Standard: true
Eksempel på anmodning
POST keypad
curl -X POST https://puzzel.org/api/public/v1/keypad \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Keypad",
  "language": "da",
  "items": [
    {
      "type": "text",
      "value": "4"
    },
    {
      "type": "text",
      "value": "7",
      "code_position": 2
    },
    {
      "type": "text",
      "value": "9"
    },
    {
      "type": "text",
      "value": "2",
      "code_position": 1
    }
  ],
  "settings": {
    "instructions": "Press the prime numbers, smallest first.",
    "force_solution_in_correct_order": true,
    "randomize_order": false
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/keypad/embed?p=-Nq8sample_activity_key",
  "message": "Keypad created successfully"
}

Kvartetspil

Kortspillet: spillerne beder hinanden om kort for at samle kvartetter.

#
POST /api/public/v1/quartets 2 til 16 i items
Indhold

En liste af kvartetter. Hver har et navn og præcis fire kort.

Falder tilbage til navnet “Quartets API”

Værd at vide
  • Et kort er et navn eller et objekt med et name og en description (den kendsgerning, der er vist på det). Intet kortnavn må optræde to gange i spillet: spillerne beder om kort ved navn.
Settings, den læser
FeltTypeHvad det gør
type
valgfri i settings
string
stringEt almindeligt spil eller et læringsspil, hvor hvert kort viser en kendsgerning. Udelades den, er det learn, når et kort har en description.
En af normallearn
Eksempel på anmodning
POST quartets
curl -X POST https://puzzel.org/api/public/v1/quartets \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Quartets",
  "language": "da",
  "items": [
    {
      "name": "Birds",
      "cards": [
        {
          "name": "Owl",
          "description": "Hunts at night and turns its head three quarters of the way round."
        },
        {
          "name": "Robin",
          "description": "Sings through the winter."
        },
        {
          "name": "Woodpecker",
          "description": "Drums on trees up to twenty times a second."
        },
        {
          "name": "Jay",
          "description": "Buries thousands of acorns each autumn."
        }
      ]
    },
    {
      "name": "Mammals",
      "cards": [
        {
          "name": "Hedgehog",
          "description": "Carries about five thousand spines."
        },
        {
          "name": "Fox",
          "description": "Hears a mouse under the snow."
        },
        {
          "name": "Badger",
          "description": "Lives in a sett with its clan."
        },
        {
          "name": "Otter",
          "description": "Sleeps holding hands so it does not drift off."
        }
      ]
    }
  ],
  "settings": {
    "type": "learn"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/quartets/embed?p=-Nq8sample_activity_key",
  "message": "Quartets game created successfully"
}
Spørgsmål & svar

Quiz

Multiple choice og åbne spørgsmål, der bliver bedømt undervejs.

#
POST /api/public/v1/quiz 1 til 100 i items
Indhold

En liste af spørgsmål. Multiple choice-spørgsmål indeholder deres svarmuligheder; åbne spørgsmål indeholder det svar, du accepterer.

Falder tilbage til navnet “Quiz API”

Værd at vide
  • question_type er enten "multiple_choice", hvor den rigtige svarmulighed har isCorrect true, "true_false", det samme med præcis to svarmuligheder, hvor den første er sandt og den anden falsk, eller "open_answer", som i stedet bruger correct_answer. Udelades det, bliver det behandlet som multiple choice.
  • Quiz-endpointet sender settings direkte videre som aktivitetens indstillingsblokke, så det er ikke stedet til løse valgmuligheder — justér quizzen i editoren bagefter.
Eksempel på anmodning
POST quiz
curl -X POST https://puzzel.org/api/public/v1/quiz \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Quiz",
  "language": "da",
  "items": [
    {
      "question_type": "multiple_choice",
      "description": "Which fruit is yellow?",
      "answers": [
        {
          "type": "text",
          "description": "Banana",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Cherry",
          "isCorrect": false
        }
      ]
    },
    {
      "question_type": "open_answer",
      "description": "What colour is a lemon?",
      "correct_answer": "Yellow",
      "explanation": "Lemons ripen from green to yellow."
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/quiz/embed?p=-Nq8sample_activity_key",
  "message": "Quiz created successfully"
}

Brætspil

api_e_board_game

#
POST /api/public/v1/board-game 1 til 100 i items
Indhold

api_c_board_game

Falder tilbage til navnet “Board Game API”

Værd at vide
  • question_type er enten "multiple_choice", hvor den rigtige svarmulighed har isCorrect true, "true_false", det samme med præcis to svarmuligheder, hvor den første er sandt og den anden falsk, eller "open_answer", som i stedet bruger correct_answer. Udelades det, bliver det behandlet som multiple choice.
Settings, den læser
FeltTypeHvad det gør
number_of_tiles
valgfri i settings
number
numberHvor mange felter brættet har. Mellem 10 og 75.
Standard: 30
game_mode
valgfri i settings
string
stringOm spillerne kapløber til mål, eller om de samler genstande undervejs.
En af race_to_finishcollect_items
Standard: "race_to_finish"
Eksempel på anmodning
POST board-game
curl -X POST https://puzzel.org/api/public/v1/board-game \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Board Game",
  "language": "da",
  "items": [
    {
      "question_type": "multiple_choice",
      "description": "Which fruit is yellow?",
      "answers": [
        {
          "type": "text",
          "description": "Banana",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Cherry",
          "isCorrect": false
        }
      ]
    },
    {
      "question_type": "open_answer",
      "description": "What colour is a lemon?",
      "correct_answer": "Yellow",
      "explanation": "Lemons ripen from green to yellow."
    }
  ],
  "settings": {
    "number_of_tiles": 30,
    "game_mode": "race_to_finish"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/board-game/embed?p=-Nq8sample_activity_key",
  "message": "Board Game created successfully"
}

Labyrint

En labyrint at gå igennem: hvert spørgsmål er en sal, og svarene er dørene.

#
POST /api/public/v1/maze Mindst 1 i items
Indhold

En liste af multiple choice- eller sandt/falsk-spørgsmål, præcis den form, quiz-endpointet tager. Åbne spørgsmål bliver afvist: en dør skal have et svar skrevet på sig.

Falder tilbage til navnet “Maze API”

Settings, den læser
FeltTypeHvad det gør
maze_width
valgfri i settings
string
stringHvordan salene er lagt ud: én kolonne, et kvadrat eller bredere.
En af narrownormalwide
Standard: "normal"
maze_corridors
valgfri i settings
string
stringHvor meget labyrint der ligger mellem to spørgsmål.
En af shortnormallong
Standard: "normal"
maze_fog
valgfri i settings
string
stringVis hele labyrinten, eller kun det, spilleren har været ved siden af.
En af offnear
Standard: "off"
maze_wrong_door_pause
valgfri i settings
string
stringHvor længe dørene forbliver lukkede efter en forkert dør.
En af noneshortlong
Standard: "short"
maze_walk_there
valgfri i settings
boolean
booleanTilbyder en knap, der går med figuren hen til den næste sal.
Standard: false
maze_seed
valgfri i settings
string
stringDet frø, labyrinten bliver genereret ud fra. Det samme frø og de samme spørgsmål giver den samme labyrint; udelades det, bliver der trukket en ny.
Eksempel på anmodning
POST maze
curl -X POST https://puzzel.org/api/public/v1/maze \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Maze",
  "language": "da",
  "items": [
    {
      "question_type": "multiple_choice",
      "description": "What is it called when water vapour turns back into liquid droplets?",
      "answers": [
        {
          "type": "text",
          "description": "Evaporation",
          "isCorrect": false
        },
        {
          "type": "text",
          "description": "Condensation",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Transpiration",
          "isCorrect": false
        }
      ],
      "explanation": "Cooling vapour condenses into the droplets that make clouds."
    },
    {
      "question_type": "true_false",
      "description": "Most of the water on Earth is fresh water.",
      "answers": [
        {
          "type": "text",
          "description": "True",
          "isCorrect": false
        },
        {
          "type": "text",
          "description": "False",
          "isCorrect": true
        }
      ]
    }
  ],
  "settings": {
    "maze_width": "wide",
    "maze_corridors": "short",
    "maze_seed": "water123",
    "maze_fog": "near"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/maze/embed?p=-Nq8sample_activity_key",
  "message": "Maze created successfully"
}

Jeopardy

Et quizshow-bræt: kategorier øverst og definitioner nedenunder, der er mere værd, jo længere nede de står.

#
POST /api/public/v1/jeopardy Mindst 2 i items
Indhold

En liste af kategorier, fra venstre mod højre. Hver har et navn og sine definitioner fra øverste række og nedad.

Falder tilbage til navnet “Jeopardy API”

Værd at vide
  • En definition er et spørgsmål, som quiz-endpointet tager det, open_answer, medmindre andet er angivet, med correct_answer og eventuelt aliases. Den kan også have value (dens egen værdi) og daily_double. null lader et felt stå tomt.
Settings, den læser
FeltTypeHvad det gør
jeopardy_buzzer_mode
valgfri i settings
string
stringHvem der spiller hvordan: værten styrer det fra konsollen, spillerne buzzer ind fra deres telefoner, eller hver spiller klarer brættet alene.
En af hostphonessolo
Standard: "host"
jeopardy_contestants
valgfri i settings
string
stringOm konsollen taler om hold eller om spillere.
En af teamsplayers
Standard: "teams"
jeopardy_value_step
valgfri i settings
number
numberHvad en række er værd: en definition er værd dette gange sit rækkenummer. Fra 50 til 500, i trin på 50.
Standard: 100
jeopardy_answer_time
valgfri i settings
number
numberSekunder til at svare, når en definition er åbnet, op til 300. 0 er intet tidsur.
Standard: 20
jeopardy_wrong_answer_costs
valgfri i settings
boolean
booleanEt forkert svar trækker definitionens værdi fra scoren.
Standard: false
jeopardy_reveal_on_timeout
valgfri i settings
boolean
booleanBrættet viser selv svaret, når tidsuret løber ud.
Standard: false
jeopardy_require_question_form
valgfri i settings
boolean
booleanMinder spillerne om at svare i form af et spørgsmål.
Standard: false
Eksempel på anmodning
POST jeopardy
curl -X POST https://puzzel.org/api/public/v1/jeopardy \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Jeopardy",
  "language": "da",
  "items": [
    {
      "name": "Planets",
      "questions": [
        {
          "question_type": "open_answer",
          "description": "The planet closest to the Sun.",
          "correct_answer": "Mercury"
        },
        {
          "question_type": "open_answer",
          "description": "It is known as the red planet.",
          "correct_answer": "Mars",
          "explanation": "Iron oxide in its soil gives it the colour."
        },
        {
          "question_type": "multiple_choice",
          "description": "This planet has the most confirmed moons.",
          "answers": [
            {
              "description": "Jupiter",
              "isCorrect": false
            },
            {
              "description": "Saturn",
              "isCorrect": true
            },
            {
              "description": "Neptune",
              "isCorrect": false
            }
          ],
          "daily_double": true
        }
      ]
    },
    {
      "name": "Moons",
      "questions": [
        {
          "question_type": "open_answer",
          "description": "The only world besides Earth that people have walked on.",
          "correct_answer": "The Moon",
          "aliases": [
            "Luna"
          ]
        },
        null,
        {
          "question_type": "name_them_all",
          "description": "Name the four Galilean satellites.",
          "answers": [
            {
              "description": "Io"
            },
            {
              "description": "Europa"
            },
            {
              "description": "Ganymede",
              "aliases": [
                "Ganymedes"
              ]
            },
            {
              "description": "Callisto"
            }
          ],
          "required_count": 3,
          "value": 500
        }
      ]
    }
  ],
  "settings": {
    "jeopardy_buzzer_mode": "solo",
    "jeopardy_value_step": 200,
    "jeopardy_wrong_answer_costs": true
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/jeopardy/embed?p=-Nq8sample_activity_key",
  "message": "Jeopardy board created successfully"
}

Interaktiv video

api_e_interactive_video

#
POST /api/public/v1/interactive-video 1 til 50 i items
Indhold

api_c_interactive_video

Falder tilbage til navnet “Interactive Video API”

Værd at vide
  • En pop-up er et objekt med time (sekunder eller "1:23"), kind ("question", medmindre der står "note", "think" eller "chapter") og description. Et question er et spørgsmål, som quiz-endpointet tager det, og kan have rewind_to: hvor et forkert svar afspilles forfra fra.
Settings, den læser
FeltTypeHvad det gør
video_url
påkrævet i settings
string
stringVideoen: en side på YouTube, Vimeo eller Bunny Stream eller et direkte link til en mp4-, webm- eller mov-fil.
video_duration
valgfri i settings
number
numberVideoens længde i sekunder. Når den er angivet, bliver en pop-up efter slutningen afvist.
Eksempel på anmodning
POST interactive-video
curl -X POST https://puzzel.org/api/public/v1/interactive-video \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Interactive Video",
  "language": "da",
  "items": [
    {
      "time": 5,
      "kind": "chapter",
      "description": "Evaporation"
    },
    {
      "time": 42.5,
      "kind": "question",
      "question_type": "multiple_choice",
      "description": "What turns liquid water into vapour?",
      "answers": [
        {
          "type": "text",
          "description": "Heat from the sun",
          "isCorrect": true
        },
        {
          "type": "text",
          "description": "Wind from the north",
          "isCorrect": false
        },
        {
          "type": "text",
          "description": "Salt in the sea",
          "isCorrect": false
        }
      ],
      "explanation": "The sun warms the surface and the water evaporates.",
      "rewind_to": 20
    }
  ],
  "settings": {
    "video_url": "https://www.youtube.com/watch?v=al-do-HGuIk",
    "video_duration": 180,
    "video_allow_skipping": true
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/interactive-video/embed?p=-Nq8sample_activity_key",
  "message": "Interactive video created successfully"
}
Sætninger & tal

Kryptogram

Gør en sætning til en kode, der skal knækkes, ét tegn ad gangen.

#
POST /api/public/v1/cryptogram Tager ingen items
Indhold

Én sætning, i sentence-feltet. Dette endpoint tager ingen items.

Falder tilbage til navnet “Cryptogram API”

Værd at vide
  • Alt, du sender i items, bliver ignoreret — opgaven bliver bygget ud fra sentence alene.
Settings, den læser
FeltTypeHvad det gør
sentence
påkrævet
string
stringSætningen, der skal krypteres. Spillerne afkoder den tegn for tegn.
helpers
valgfri i settings
string
stringHvilke tegn der bliver givet gratis som en indgang: ingen, de mest almindelige, vokalerne, eller dem, du selv angiver i en liste.
En af nonemost_commonvowelscustom
Standard: "none"
character_list
valgfri i settings
string
stringAlfabetet, chifferet bliver bygget ud fra. Efterlades det tomt, vælger krypteringen sit eget.
extra_letters
valgfri i settings
string
stringDe tegn, der bliver givet væk, når helpers er "custom". Ignoreres for de andre hjælpetilstande.
hide_unused_characters
valgfri i settings
boolean
booleanUdelader tegn, som sætningen aldrig bruger, fra nøglen.
Standard: false
Eksempel på anmodning
POST cryptogram
curl -X POST https://puzzel.org/api/public/v1/cryptogram \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Cryptogram",
  "language": "da",
  "sentence": "An apple a day keeps the doctor away",
  "settings": {
    "helpers": "vowels",
    "hide_unused_characters": false
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/cryptogram/embed?p=-Nq8sample_activity_key",
  "message": "Cryptogram created successfully"
}

Regneopgave

Gemmer en sætning bag regnestykker — løs regnestykket, afslør bogstavet.

#
POST /api/public/v1/calculation Tager ingen items
Indhold

Én sætning, i sentence-feltet. Dette endpoint tager ingen items.

Falder tilbage til navnet “Calculation Game API”

Værd at vide
  • Hvis begrænsningerne er for stramme til at indkode sætningen, svarer kaldet 400 og beder dig løsne dem i stedet for at gemme en halvfærdig opgave.
Settings, den læser
FeltTypeHvad det gør
sentence
påkrævet
string
stringSætningen, spillerne afslører ved at løse regnestykkerne.
difficulty_level
valgfri i settings
number
numberDet højeste svar, et regnestykke må have.
En af 20501001000
Standard: "100"
operators
valgfri i settings
string[]
string[]Hvilke regnearter der må optræde. x er gange, : er division.
En af +-x:
Standard: ["+", "-", "x", ":"]
max_operations
valgfri i settings
number
numberHvor mange regnearter ét regnestykke må kæde sammen.
En af 123
Standard: 1
number_difficulty
valgfri i settings
number
numberSætter loft over de enkelte tal inde i et regnestykke. Alt fra 5 til 1000.
Standard: 100
Eksempel på anmodning
POST calculation
curl -X POST https://puzzel.org/api/public/v1/calculation \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Calculation Game",
  "language": "da",
  "sentence": "Fruit salad for everyone",
  "settings": {
    "difficulty_level": "100",
    "operators": [
      "+",
      "-",
      "x",
      ":"
    ],
    "max_operations": 1,
    "number_difficulty": 100
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/calculation/embed?p=-Nq8sample_activity_key",
  "message": "Calculation game created successfully"
}

Sudoku

Genererer et løst gitter og fjerner derefter tal igen.

#
POST /api/public/v1/sudoku Tager ingen items
Indhold

Intet. Hele opgaven kommer ud af dens to settings.

Falder tilbage til navnet “Sudoku API”

Værd at vide
  • Send ingen items og ingen sentence — size og difficulty er hele input.
  • Editoren tilbyder kun difficulty for 2x3, 3x3 og 3x4. API'en anvender den på enhver size, inklusive 2x2 og 4x4.
Settings, den læser
FeltTypeHvad det gør
size
valgfri i settings
string
stringStørrelsen på én blok, skrevet som rækker gange kolonner — 3x3 giver det klassiske 9x9-gitter. Endpointet tjekker kun, at det kan tolkes som to tal, så hold dig til de størrelser, editoren tilbyder.
En af 2x22x33x33x44x4
Standard: "3x3"
difficulty_level
valgfri i settings
string
stringHvor mange tal der bliver stående i gitteret til at starte ud fra.
En af easynormalhard
Standard: "normal"
Eksempel på anmodning
POST sudoku
curl -X POST https://puzzel.org/api/public/v1/sudoku \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sudoku",
  "language": "da",
  "settings": {
    "size": "3x3",
    "difficulty_level": "normal"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/sudoku/embed?p=-Nq8sample_activity_key",
  "message": "Sudoku created successfully"
}

Faldsætning

api_e_fallen_phrase

#
POST /api/public/v1/fallen-phrase Tager ingen items
Indhold

api_c_fallen_phrase

Falder tilbage til navnet “Fallen Phrase API”

Settings, den læser
FeltTypeHvad det gør
sentence
påkrævet
string
stringSætningen, der skal skjules: et citat, et ordsprog, en nøglesætning. Højst 120 bogstaver og tal.
columns
valgfri i settings
number
numberHvor bredt gitteret er, fra 8 til 18. Smallere stabler flere bogstaver i hver kolonne og er sværere.
Standard: 14
helpers
valgfri i settings
string
stringHvilke bogstaver der bliver stående i gitteret som en indgang: ingen, de mest almindelige, vokalerne, eller dem, du selv angiver i en liste.
En af nonemost_commonvowelscustom
Standard: "none"
extra_letters
valgfri i settings
string
stringDe bogstaver, der bliver givet væk, når helpers er "custom".
Eksempel på anmodning
POST fallen-phrase
curl -X POST https://puzzel.org/api/public/v1/fallen-phrase \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Fallen Phrase",
  "language": "da",
  "sentence": "Don't count your chickens before they hatch.",
  "settings": {
    "columns": 12,
    "helpers": "custom",
    "extra_letters": "ky"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/fallen-phrase/embed?p=-Nq8sample_activity_key",
  "message": "Fallen phrase created successfully"
}

Gangetabel

api_e_times_tables

#
POST /api/public/v1/times-tables Tager ingen items
Indhold

api_c_times_tables

Falder tilbage til navnet “Times Tables API”

Settings, den læser
FeltTypeHvad det gør
tables
valgfri i settings
number[]
number[]De tabeller, der skal øves. Udelades den, er det 1 til 10; et 11 eller 12 gør gitteret 12 gange 12.
En af 123456789101112
order
valgfri i settings
string
stringOm rækkerne og kolonnerne løber i rækkefølge eller blandet.
En af ascendingshuffled
Standard: "ascending"
picture
valgfri i settings
string
stringBilledet, de rigtige svar maler.
En af sailboatheartrockettreecatfishflowerhouse
Standard: "sailboat"
players_choose_tables
valgfri i settings
boolean
booleanLader hver spiller vælge, hvilke af tabellerne der skal øves.
Standard: false
fill_same_sums
valgfri i settings
boolean
booleanÉt rigtigt svar udfylder alle felter med det samme regnestykke.
Standard: true
Eksempel på anmodning
POST times-tables
curl -X POST https://puzzel.org/api/public/v1/times-tables \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Times Tables",
  "language": "da",
  "settings": {
    "tables": [
      7,
      3,
      4
    ],
    "order": "shuffled",
    "seed": "k3x9q2ab",
    "picture": "rocket",
    "players_choose_tables": true,
    "fill_same_sums": false
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/times-tables/embed?p=-Nq8sample_activity_key",
  "message": "Times tables created successfully"
}

Udfyldningsopgave

api_e_fill_in_the_gap

#
POST /api/public/v1/fill-in-the-gap 1 til 50 i items
Indhold

api_c_fill_in_the_gap

Falder tilbage til navnet “Fill in the gap API”

Værd at vide
  • Skriv hele sætningen, og sæt stjerner om hvert ord, der skal udelades: "Water boils at *100* degrees." Flere ord inden for ét par er ét hul. En post kan også have en instruktion, der bliver vist over sætningen.
Eksempel på anmodning
POST fill-in-the-gap
curl -X POST https://puzzel.org/api/public/v1/fill-in-the-gap \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Fill in the gap",
  "language": "da",
  "items": [
    {
      "sentence": "The capital of France is *Paris*, and the river that runs through it is the *Seine*."
    },
    {
      "sentence": "*Amsterdam* is the capital of the Netherlands, but the government sits in *The Hague*.",
      "instruction": "Two cities, one of them two words."
    },
    {
      "sentence": "The *Danube* flows through Vienna, Bratislava, *Budapest* and Belgrade."
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/fill-in-the-gap/embed?p=-Nq8sample_activity_key",
  "message": "Fill in the gap created successfully"
}

Sætningsanalyse

Sætninger, hvor spillerne sætter etiketter på ordene: ordklasser, sætningsled eller dine egne etiketter.

#
POST /api/public/v1/deconstruct 1 til 50 i items
Indhold

En liste af sætninger. Hvert ord, der skal have en etiket, bliver skrevet som [word](label).

Falder tilbage til navnet “Sentence analysis API”

Værd at vide
  • Skriv en sætning som "The [dog](noun) [barks](verb)." Ord uden et tag bliver vist, men der bliver ikke spurgt til dem. Etiketterne noun, verb, adjective og subject bliver vist for hver spiller på deres eget sprog.
Settings, den læser
FeltTypeHvad det gør
categories
valgfri i settings
string[]
string[]De etiketter, spillerne vælger imellem, i rækkefølge. Udelades den, er det de etiketter, der bliver brugt i sætningerne. Send den for at tilføje en etiket, intet ord har, eller for at rette rækkefølgen.
Eksempel på anmodning
POST deconstruct
curl -X POST https://puzzel.org/api/public/v1/deconstruct \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sentence analysis",
  "language": "da",
  "items": [
    {
      "sentence": "The [old](adjective) [farmer](noun) [feeds](verb) the [hungry](adjective) [chickens](noun) [early](adverb).",
      "instruction": "Label the nouns, verbs, adjectives and adverbs."
    },
    {
      "sentence": "A [brown](adjective) [horse](noun) [jumped](verb) [quickly](adverb) over the [fence](noun)."
    },
    {
      "sentence": "[Two small lambs](subject) [sleep](verb) in the [barn](noun), and the [dog](noun) [watches](verb) [quietly](adverb)."
    }
  ],
  "settings": {
    "categories": [
      "noun",
      "verb",
      "adjective",
      "adverb",
      {
        "name": "subject",
        "color": "#224466"
      },
      "preposition"
    ]
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/deconstruct/embed?p=-Nq8sample_activity_key",
  "message": "Sentence analysis created successfully"
}

Logikopgave

api_e_logic_puzzle

#
POST /api/public/v1/logic-puzzle Mindst 3 i items
Indhold

api_c_logic_puzzle

Falder tilbage til navnet “Logic Puzzle API”

Værd at vide
  • Hver kategori skal have det samme antal items, 3 til 6, alle forskellige. Én kategori kan markeres som ordnet (priser, tidspunkter, aldre) med en valgfri enhed, som lader generatoren skrive definitioner om mere, mindre og hvor meget.
Settings, den læser
FeltTypeHvad det gør
story
valgfri i settings
string
stringBaggrundshistorien, der bliver vist over definitionerne.
difficulty
valgfri i settings
string
stringHvilke slags definitioner generatoren må bruge.
En af easymediumhard
Standard: "easy"
hints
valgfri i settings
boolean
booleanTilbyder en knap, der viser det næste trin.
Standard: true
auto_cross
valgfri i settings
boolean
booleanNår et match bliver markeret, bliver resten af dets række og kolonne streget ud.
Standard: true
clue_mode
valgfri i settings
string
stringHvem der skriver de definitioner, spillerne ser: genereret ud fra tabellen, dine egne sætninger i free_clues, eller ingen.
En af generatedfreenone
Standard: "generated"
free_clues
valgfri i settings
string[]
string[]Dine egne definitioner, vist som skrevet, med clue_mode "free". Intet tjekker dem.
Eksempel på anmodning
POST logic-puzzle
curl -X POST https://puzzel.org/api/public/v1/logic-puzzle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Logic Puzzle",
  "language": "da",
  "items": [
    {
      "name": "Baker",
      "items": [
        "Amira",
        "Jonas",
        "Priya",
        "Tobias"
      ]
    },
    {
      "name": "Cake",
      "items": [
        "Lemon drizzle",
        "Carrot cake",
        "Brownies",
        "Apple pie"
      ]
    },
    {
      "name": "Price",
      "items": [
        "$2",
        "$4",
        "$6",
        "$8"
      ],
      "ordered": true,
      "unit": "dollars"
    }
  ],
  "settings": {
    "story": "Four friends each baked one thing for the school bake sale and each set a different price. Who baked what, and what did it cost?",
    "difficulty": "medium"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/logic-puzzle/embed?p=-Nq8sample_activity_key",
  "message": "Logic puzzle created successfully"
}

Skattejagt

api_e_scavenger_hunt

#
POST /api/public/v1/scavenger-hunt 1 til 50 i items
Indhold

api_c_scavenger_hunt

Falder tilbage til navnet “Scavenger Hunt API”

Værd at vide
  • Et trin er et objekt med title, description, code og eventuelt accepted_codes (andre stavemåder, der tæller), url og link_text. En kode bliver tjekket uden hensyn til store bogstaver og mellemrum. Kortet med nåle kan kun tilføjes i editoren.
Eksempel på anmodning
POST scavenger-hunt
curl -X POST https://puzzel.org/api/public/v1/scavenger-hunt \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Scavenger Hunt",
  "language": "da",
  "items": [
    {
      "title": "Start at the front desk",
      "description": "Which year is carved above the entrance?",
      "code": "1897",
      "accepted_codes": [
        "eighteen ninety-seven"
      ]
    },
    {
      "title": "The quiet corner",
      "description": "Find the atlas shelf. What colour is the biggest atlas?",
      "code": "crimson",
      "accepted_codes": [
        "dark red"
      ]
    }
  ]
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/scavenger-hunt/embed?p=-Nq8sample_activity_key",
  "message": "Scavenger hunt created successfully"
}

Rumfornemmelse

api_e_spatial_reasoning

#
POST /api/public/v1/spatial-reasoning 1 til 50 i items
Indhold

api_c_spatial_reasoning

Falder tilbage til navnet “Spatial Reasoning API”

Værd at vide
  • Objekter og mål er square, triangle, circle, hexagon, pentagon, star, diamond eller heart. Relationer er inside, outside, behind, in_front_of, right_of, left_of, above, below, same_color_as, different_color_from, larger_than og smaller_than. En regel, der aldrig kan overholdes, svarer 400.
Settings, den læser
FeltTypeHvad det gør
clue_mode
valgfri i settings
string
stringRegler vist som billeder eller som sætninger.
En af visualtext
Standard: "visual"
unique_object_picks
valgfri i settings
boolean
booleanHver figur må kun placeres én gang.
Standard: false
hide_color_picker
valgfri i settings
boolean
booleanSpillerne kan ikke give figurerne en anden farve.
Standard: false
Eksempel på anmodning
POST spatial-reasoning
curl -X POST https://puzzel.org/api/public/v1/spatial-reasoning \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Spatial Reasoning",
  "language": "da",
  "items": [
    {
      "rules": [
        {
          "object": "square",
          "relation": "inside",
          "target": "circle"
        }
      ]
    },
    {
      "rules": [
        {
          "object": "triangle",
          "relation": "above",
          "target": "square"
        },
        {
          "object": "star",
          "relation": "left_of",
          "target": "triangle"
        }
      ]
    }
  ],
  "settings": {
    "clue_mode": "text",
    "unique_object_picks": true,
    "hide_color_picker": false
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/spatial-reasoning/embed?p=-Nq8sample_activity_key",
  "message": "Spatial reasoning activity created successfully"
}

Rebus

Sætninger skrevet som billeder: spillerne læser billederne og bogstavændringerne tilbage til ord.

#
POST /api/public/v1/rebus 1 til 30 i items
Indhold

En liste af sætninger. Hver angiver de ord, der er tegnet som billeder; alle andre ord forbliver som deres bogstaver.

Falder tilbage til navnet “Rebus API”

Værd at vide
  • Et ord bliver tegnet ud fra dele, der tilsammen staver det. En del har de bogstaver, den står for (text), en emoji og shows: ordet for det, billedet viser ("broom" for et billede, der står for "room"). Puzzel regner bogstavændringerne ud. En del kan i stedet være et symbol, for eksempel 4 for "for".
Settings, den læser
FeltTypeHvad det gør
rebus_commas
valgfri i settings
boolean
booleanTegner et bortfaldet første eller sidste bogstav som et komma ved siden af billedet.
Standard: false
Eksempel på anmodning
POST rebus
curl -X POST https://puzzel.org/api/public/v1/rebus \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Rebus",
  "language": "da",
  "items": [
    {
      "sentence": "I sweep the room before the sunflower wilts.",
      "words": [
        {
          "word": "I",
          "parts": [
            {
              "text": "I",
              "kind": "sound",
              "emoji": "👁️"
            }
          ]
        },
        {
          "word": "room",
          "parts": [
            {
              "text": "room",
              "kind": "picture",
              "shows": "broom",
              "emoji": "🧹"
            }
          ]
        },
        {
          "word": "before",
          "parts": [
            {
              "text": "be",
              "kind": "picture",
              "shows": "bee",
              "emoji": "🐝"
            },
            {
              "text": "for",
              "kind": "sound",
              "glyph": "4"
            },
            {
              "text": "e",
              "kind": "letters"
            }
          ]
        },
        {
          "word": "the",
          "position": 6,
          "parts": [
            {
              "text": "the",
              "kind": "picture",
              "shows": "tree",
              "emoji": "🌳"
            }
          ]
        },
        {
          "word": "sunflower",
          "parts": [
            {
              "text": "sun",
              "kind": "picture",
              "shows": "sun",
              "emoji": "☀️"
            },
            {
              "text": "flower",
              "kind": "picture",
              "shows": "flower",
              "emoji": "🌸"
            }
          ]
        }
      ]
    }
  ],
  "settings": {
    "rebus_commas": true
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/rebus/embed?p=-Nq8sample_activity_key",
  "message": "Rebus created successfully"
}
Billeder

Puslespil

Skærer et billede i brikker, der skal trækkes sammen igen.

#
POST /api/public/v1/jigsaw Tager ingen items
Indhold

Én billed-URL, i image-feltet. Dette endpoint tager ingen items.

Falder tilbage til navnet “Jigsaw Game API”

Værd at vide
  • API'en laver altid et puslespil på 4 gange 4. Antal brikker, uregelmæssige brikker og lige kanter er indstillinger i editoren — det gør ingen forskel at sende rows eller columns her.
  • URL'en bliver gemt, som du sendte den, og filen bliver aldrig kopieret, så den skal blive ved med at være offentligt tilgængelig, så længe aktiviteten bliver spillet.
Settings, den læser
FeltTypeHvad det gør
image
påkrævet
string
stringAbsolut URL til billedet, der skal skæres op. Sendes på øverste niveau, ikke inde i settings.
Eksempel på anmodning
POST jigsaw
curl -X POST https://puzzel.org/api/public/v1/jigsaw \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Jigsaw Game",
  "language": "da",
  "image": "https://example.com/orchard.jpg"
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/jigsaw/embed?p=-Nq8sample_activity_key",
  "message": "Jigsaw game created successfully"
}

Skydepuslespil

Blander et billede til felter, der glider på plads.

#
POST /api/public/v1/slidingpuzzle Tager ingen items
Indhold

Én billed-URL, inde i settings. Dette endpoint tager ingen items.

Falder tilbage til navnet “Sliding Puzzle API”

Værd at vide
  • I modsætning til puslespillet læser dette endpoint sit billede fra settings.image. Et image-felt på øverste niveau bliver ignoreret, og kaldet svarer 400.
  • URL'en bliver gemt, som du sendte den, og filen bliver aldrig kopieret, så den skal blive ved med at være offentligt tilgængelig, så længe aktiviteten bliver spillet.
Settings, den læser
FeltTypeHvad det gør
image
påkrævet i settings
string
stringAbsolut URL til billedet, der skal blandes. I modsætning til puslespillets ligger denne inde i settings.
Eksempel på anmodning
POST slidingpuzzle
curl -X POST https://puzzel.org/api/public/v1/slidingpuzzle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sliding Puzzle",
  "language": "da",
  "settings": {
    "image": "https://example.com/orchard.jpg"
  }
}'
Succes
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/slidingpuzzle/embed?p=-Nq8sample_activity_key",
  "message": "Sliding puzzle created successfully"
}

Opfører noget sig ikke, som det skal?

Send den anmodning, du prøvede, og den fejl, du fik tilbage, så får du et rigtigt svar — fra den person, der skrev endpointet.

Skriv til support