É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"
}
]
}'
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.
Felt
Type
Hvad det gør
account_api_key
påkrævet
string
string
Din kontos API-nøgle. Den bliver sendt i bodyen, ikke i en header.
email
påkrævet
string
string
Adressen, 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.
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.
Felt
Type
Hvad det gør
account_api_key
påkrævet
string
string
Din kontos API-nøgle. Den bliver sendt i bodyen, ikke i en header.
email
påkrævet
string
string
Adressen, din Puzzel.org-konto logger ind med. Nøglen er kun gyldig sammen med den.
title
valgfri
string
string
Navnet, aktiviteten får på dit dashboard. Udelad det, så bruger endpointet sit eget standardnavn.
language
valgfri
string
string
Bestemmer 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
string
Udelad 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.
{
"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.
Status
Hvad 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
B
U
S
O
F
L
O
K
D
Krydsord
Sammenfletter dine svar i et gitter og nummererer definitionerne for dig.
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
Felt
Type
Hvad det gør
hidden_solution
valgfrii settings
string
string
Et 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"
}
]
}'
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
Felt
Type
Hvad det gør
hidden_solution
valgfrii settings
string
string
De 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
valgfrii 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 afwesteastnorthsouthnorthwestnortheastsouthwestsoutheast
Standard: ["east", "southeast", "south"]
template
valgfrii settings
string
string
Skærer gitteret til i en form i stedet for at lade det være kvadratisk.
En afsquarecirclecrossdiamondpyramidsmileystarcross_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"
}
}'
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
Felt
Type
Hvad det gør
hidden_solution
valgfrii settings
string
string
Et 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"
}
}'
POST/api/public/v1/typing-practice1 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"
}
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
Felt
Type
Hvad det gør
theme
valgfrii settings
string
string
Gåden, der bliver vist over gitteret. Udelades den, ser spillerne titlen.
spangram
valgfrii settings
string
string
Ordet eller udtrykket, der navngiver temaet og krydser gitteret fra den ene kant til den anden.
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
Felt
Type
Hvad det gør
list_match_mode
valgfrii settings
string
string
Om et navn tæller i det øjeblik, det bliver skrevet, eller først, når der trykkes på Enter.
En afwhile_typingon_enter
Standard: "while_typing"
list_slot_hint
valgfrii settings
string
string
Hvad en tom plads afslører: ingenting, navnets længde, dets første bogstav eller det tip, du har skrevet.
En afnonelengthfirst_letterhint
Standard: "none"
list_arrange
valgfrii settings
string
string
Én kolonne pr. gruppe eller én liste.
En afgroupsone_list
Standard: "groups"
list_allow_give_up
valgfrii settings
boolean
boolean
Viser en knap til at give op, der afslutter runden og afslører det, der blev overset.
{
"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"
}
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.
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.
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.
POST/api/public/v1/categorizeMindst 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.
POST/api/public/v1/reorderMindst 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.
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
Felt
Type
Hvad det gør
mode
valgfrii settings
string
string
Hvad der fylder felterne: dine items, dine items råbt op ved deres definition, eller almindelige tal (som ikke kræver nogen items).
En afitemscluesnumbers
Standard: "items"
rows
valgfrii settings
number
number
Rækker på hvert kort, 2 til 5.
Standard: 3
columns
valgfrii settings
number
number
Kolonner på hvert kort, 2 til 5.
Standard: 3
highest_number
valgfrii settings
number
number
I 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
}
}'
{
"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"
}
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
Felt
Type
Hvad det gør
instructions
valgfrii settings
string
string
Spørgsmålet eller gåden, koden er svaret på, vist sammen med kortene.
force_solution_in_correct_order
valgfrii settings
boolean
boolean
Kortene skal trykkes i rækkefølge. Slået fra åbner enhver rækkefølge af de rigtige kort låsen.
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
Felt
Type
Hvad det gør
type
valgfrii settings
string
string
Et 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 afnormallearn
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"
}
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."
}
]
}'
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
Felt
Type
Hvad det gør
number_of_tiles
valgfrii settings
number
number
Hvor mange felter brættet har. Mellem 10 og 75.
Standard: 30
game_mode
valgfrii settings
string
string
Om spillerne kapløber til mål, eller om de samler genstande undervejs.
En afrace_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"
}
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
Felt
Type
Hvad det gør
maze_width
valgfrii settings
string
string
Hvordan salene er lagt ud: én kolonne, et kvadrat eller bredere.
En afnarrownormalwide
Standard: "normal"
maze_corridors
valgfrii settings
string
string
Hvor meget labyrint der ligger mellem to spørgsmål.
En afshortnormallong
Standard: "normal"
maze_fog
valgfrii settings
string
string
Vis hele labyrinten, eller kun det, spilleren har været ved siden af.
En afoffnear
Standard: "off"
maze_wrong_door_pause
valgfrii settings
string
string
Hvor længe dørene forbliver lukkede efter en forkert dør.
En afnoneshortlong
Standard: "short"
maze_walk_there
valgfrii settings
boolean
boolean
Tilbyder en knap, der går med figuren hen til den næste sal.
Standard: false
maze_seed
valgfrii settings
string
string
Det 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"
}
}'
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
Felt
Type
Hvad det gør
jeopardy_buzzer_mode
valgfrii settings
string
string
Hvem der spiller hvordan: værten styrer det fra konsollen, spillerne buzzer ind fra deres telefoner, eller hver spiller klarer brættet alene.
En afhostphonessolo
Standard: "host"
jeopardy_contestants
valgfrii settings
string
string
Om konsollen taler om hold eller om spillere.
En afteamsplayers
Standard: "teams"
jeopardy_value_step
valgfrii settings
number
number
Hvad 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
valgfrii settings
number
number
Sekunder til at svare, når en definition er åbnet, op til 300. 0 er intet tidsur.
Standard: 20
jeopardy_wrong_answer_costs
valgfrii settings
boolean
boolean
Et forkert svar trækker definitionens værdi fra scoren.
Standard: false
jeopardy_reveal_on_timeout
valgfrii settings
boolean
boolean
Brættet viser selv svaret, når tidsuret løber ud.
Standard: false
jeopardy_require_question_form
valgfrii settings
boolean
boolean
Minder 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
}
}'
POST/api/public/v1/interactive-video1 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
Felt
Type
Hvad det gør
video_url
påkræveti settings
string
string
Videoen: en side på YouTube, Vimeo eller Bunny Stream eller et direkte link til en mp4-, webm- eller mov-fil.
video_duration
valgfrii settings
number
number
Videoens 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"
}
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
Felt
Type
Hvad det gør
size
valgfrii settings
string
string
Stø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 af2x22x33x33x44x4
Standard: "3x3"
difficulty_level
valgfrii settings
string
string
Hvor mange tal der bliver stående i gitteret til at starte ud fra.
POST/api/public/v1/fill-in-the-gap1 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"
}
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
Felt
Type
Hvad det gør
categories
valgfrii 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"
]
}
}'
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
Felt
Type
Hvad det gør
story
valgfrii settings
string
string
Baggrundshistorien, der bliver vist over definitionerne.
difficulty
valgfrii settings
string
string
Hvilke slags definitioner generatoren må bruge.
En afeasymediumhard
Standard: "easy"
hints
valgfrii settings
boolean
boolean
Tilbyder en knap, der viser det næste trin.
Standard: true
auto_cross
valgfrii settings
boolean
boolean
Når et match bliver markeret, bliver resten af dets række og kolonne streget ud.
Standard: true
clue_mode
valgfrii settings
string
string
Hvem der skriver de definitioner, spillerne ser: genereret ud fra tabellen, dine egne sætninger i free_clues, eller ingen.
En afgeneratedfreenone
Standard: "generated"
free_clues
valgfrii 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"
}
}'
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"
]
}
]
}'
POST/api/public/v1/spatial-reasoning1 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.
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
Felt
Type
Hvad det gør
rebus_commas
valgfrii settings
boolean
boolean
Tegner et bortfaldet første eller sidste bogstav som et komma ved siden af billedet.
É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
Felt
Type
Hvad det gør
image
påkrævet
string
string
Absolut URL til billedet, der skal skæres op. Sendes på øverste niveau, ikke inde i settings.
É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
Felt
Type
Hvad det gør
image
påkræveti settings
string
string
Absolut URL til billedet, der skal blandes. I modsætning til puslespillets ligger denne inde i settings.