En POST per aktivitetstyp. Skicka ditt innehåll som JSON och få tillbaka en aktivitet i ditt Puzzel.org-konto samt en URL du kan ge till spelare eller lägga in i en iframe.
Bas-URL
https://puzzel.org/api/public/v1
Autentisering
Nyckel + e-post i body
Endpoints
38 aktivitetstyper
Kvot
10 aktiviteter per dag
Ditt första anrop
Inget att installera och ingen handskakning: skicka en JSON-body med din nyckel, din e-post och ditt innehåll. Svaret innehåller den nya aktivitetens nyckel och URL:en den spelas 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": "sv",
"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"
}
]
}'
Varje exempel på den här sidan är ett komplett, körbart anrop. Byt ut mot din egen nyckel och ditt eget innehåll så fungerar det direkt.
Autentisering
Det finns inga headers och ingen bearer-token. Båda uppgifterna skickas i JSON-bodyn i varje anrop, och nyckeln accepteras bara för kontot som e-postadressen tillhör.
Fält
Typ
Vad det gör
account_api_key
obligatoriskt
string
string
Ditt kontos API-nyckel. Den skickas i body, inte i en header.
email
obligatoriskt
string
string
Adressen ditt Puzzel.org-konto loggar in med. Nyckeln är bara giltig tillsammans med den.
Din nyckel finns under kontodelen av instrumentpanelen, bakom Visa.
Behandla nyckeln som ett lösenord. Den skapar och skriver över aktiviteter i ditt konto, så håll den på serversidan och borta från allt en webbläsare kan läsa.
Anropets body
Varje endpoint tar samma fem fält. Det som skiljer är innehållsfältet under dem: de flesta tar en array av items, några tar en mening eller en bild, och sudoku tar ingenting alls.
Fält
Typ
Vad det gör
account_api_key
obligatoriskt
string
string
Ditt kontos API-nyckel. Den skickas i body, inte i en header.
email
obligatoriskt
string
string
Adressen ditt Puzzel.org-konto loggar in med. Nyckeln är bara giltig tillsammans med den.
title
valfritt
string
string
Namnet aktiviteten får i instrumentpanelen. Utelämna det så använder endpointen sitt eget standardnamn.
language
valfritt
string
string
Avgör bara språket i URL:en du får tillbaka — det översätter inget du skickar. Ordsök läser det också för att växla sina utfyllnadsbokstäver till arabiska när det är "ar".
Standard: "en"
activity_key
valfritt
string
string
Utelämna det för att skapa en ny aktivitet. Skicka nyckeln till en du redan äger så byggs den aktiviteten om istället.
settings är ett objekt med alternativ per endpoint. Vilka en endpoint läser listas nedan för respektive endpoint; allt annat du lägger där ignoreras.
Vad du får tillbaka
Ett lyckat anrop svarar 200 med den nya aktivitetens nyckel och URL:en den spelas på. Allt annat svarar med success satt till false och en enda felsträng.
{
"success": false,
"error": "Invalid Email or API Key"
}
URL:en du får tillbaka är embed-vyn. Byt embed mot play för att öppna den i helskärm, eller mot build för att öppna den i redigeraren — nyckeln efter p= är densamma.
Skapa kontra uppdatera
Skicka activity_key så byggs aktiviteten bakom den om på plats: dess innehåll ersätts, dess namn och versionsstämpel uppdateras, och själva nyckeln förblir densamma — så länkar och inbäddningar du redan delat fortsätter fungera. Resultat, mappplacering och varje inställning som endpointen inte själv skriver lämnas 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 tillämpas vid varje uppdatering, dess standardvärde inräknat — utelämna det så byter aktiviteten namn till den endpointens standardnamn.
Inställningsblocken en endpoint skriver själv skrivs om helt från grunden, så en uppdatering återställer också dem till värdena du skickar, eller till endpointens standardvärden.
Du kan bara uppdatera aktiviteter ditt eget konto äger. Någon annans nyckel svarar 403.
En uppdatering kostar lika mycket som att skapa: ett anrop av dagens kvot.
Anropsgräns
10
10 aktiviteter per konto och dag
Varje lyckat anrop räknas, skapande och uppdatering lika. Går du över svarar nästa anrop 429 tills räknaren nollställs.
Räknaren nollställs en gång om dagen av ett schemalagt jobb, inte i ett rullande 24-timmarsfönster.
Fel
Fel kommer alltid som JSON med samma två fält, aldrig som en HTML-sida. Felsträngen är skriven för att läsas av en människa — den namnger fältet eller gränsen som gjorde att det misslyckades.
Status
Vad det betyder
400
Bad Request
Något i body saknas, är felaktigt formaterat eller utanför tillåtet intervall. Meddelandet namnger fältet.
401
Unauthorized
E-postadressen är okänd, eller så tillhör nyckeln inte det kontot.
403
Forbidden
activity_key du skickade tillhör ett annat konto.
429
Too Many Requests
Dagens kvot är förbrukad. Den nollställs en gång om dagen.
500
Server Error
Generatorn kunde inte bygga ett pussel av det du skickade — oftast för få ord, eller ord som inte går att passa ihop.
Endpoints
En sökväg per aktivitetstyp, alla POST, alla under samma bas-URL. Var och en listar innehållet den behöver, inställningarna den läser och ett anrop du kan köra.
Ord & bokstäver
V
A
S
A
G
R
I
S
M
Korsord
Länkar ihop dina svar i ett rutnät och numrerar definitionerna åt dig.
En array av ord. Varje post kopplar ihop svaret med definitionen som pekar på det.
Faller tillbaka på namnet “Crossword API”
Bra att veta
Svar kortare än två tecken tas bort innan rutnätet byggs, och minst två måste finnas kvar efter det.
Svaren skrivs med versaler och generatorn får tjugo försök att passa in dem. Om den inte kan placera ett enda ord svarar anropet 500.
Inställningar den läser
Fält
Typ
Vad det gör
hidden_solution
valfritti settings
string
string
Ett valfritt bonusord. Dess bokstäver markeras i rutor i det färdiga rutnätet, så att spelarna kan samla ihop dem när korsordet är löst, och därför måste varje bokstav i det finnas med bland svaren.
Exempelanrop
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": "sv",
"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 array av ord. Definitionstexten blir ordbanken spelarna arbetar utifrån.
Faller tillbaka på namnet “Wordseeker API”
Bra att veta
Svar under två tecken tas bort, och varje svar skrivs med versaler innan det läggs in i rutnätet.
Rutnätet fylls ut med latinska bokstäver om inte language är "ar", vilket växlar utfyllnaden till arabiska.
Inställningar den läser
Fält
Typ
Vad det gör
hidden_solution
valfritti settings
string
string
De överblivna bokstäverna stavar ut det här. Att ange det säger också åt generatorn att passa in lösningen först istället för att packa in så många ord som möjligt.
directions
valfritti settings
string[]
string[]
Vilka riktningar ett ord får löpa i. Utelämna det så löper orden bara österut, sydöst och söderut.
En avwesteastnorthsouthnorthwestnortheastsouthwestsoutheast
Standard: ["east", "southeast", "south"]
template
valfritti settings
string
string
Skär till rutnätet i en form istället för att lämna det kvadratiskt.
En avsquarecirclecrossdiamondpyramidsmileystarcross_plus
Exempelanrop
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": "sv",
"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 som skapas via API:et har alltid inställningen för att blanda ordningen påslagen, så ordningen du skickar är inte den ordning spelarna får.
Inställningar den läser
Fält
Typ
Vad det gör
hidden_solution
valfritti settings
string
string
Ett valfritt bonusord spelarna anger när resten är löst.
Exempelanrop
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": "sv",
"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 till 50 i items
Innehåll
api_c_typing_practice
Faller tillbaka på namnet “Typing Practice API”
Exempelanrop
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": "sv",
"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"
}
]
}'
Lyckades
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/typing-practice/embed?p=-Nq8sample_activity_key",
"message": "Typing Practice created successfully"
}
En array av temaord. Tillsammans med spangrammet måste deras bokstäver fylla ett bräde exakt.
Faller tillbaka på namnet “Strands API”
Bra att veta
Bokstäverna i alla ord och i spangrammet tillsammans måste bli exakt 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 eller 80. Vilket annat antal som helst svarar 400 och talar om hur många bokstäver du ska lägga till eller ta bort.
Inställningar den läser
Fält
Typ
Vad det gör
theme
valfritti settings
string
string
Gåtan som visas ovanför rutnätet. Utelämnas den ser spelarna titeln.
spangram
valfritti settings
string
string
Ordet eller frasen som namnger temat och går över brädet från ena kanten till den andra.
POST/api/public/v1/name-them-all1 till 250 i items
Innehåll
api_c_name_them_all
Faller tillbaka på namnet “Name Them All API”
Bra att veta
En post är ett objekt med ett answer, och eventuellt aliases (andra stavningar som räknas), en description (tipset) och en group. Versaler, accenter och skiljetecken ignoreras när ett namn kontrolleras.
Inställningar den läser
Fält
Typ
Vad det gör
list_match_mode
valfritti settings
string
string
Om ett namn räknas i samma stund som det skrivs, eller först när man trycker Enter.
En avwhile_typingon_enter
Standard: "while_typing"
list_slot_hint
valfritti settings
string
string
Vad en tom plats avslöjar: ingenting, namnets längd, dess första bokstav, eller tipset du skrev.
En avnonelengthfirst_letterhint
Standard: "none"
list_arrange
valfritti settings
string
string
En kolumn per grupp, eller en enda lista.
En avgroupsone_list
Standard: "groups"
list_allow_give_up
valfritti settings
boolean
boolean
Visar en knapp för att ge upp som avslutar omgången och avslöjar vad som missades.
{
"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 array av par. Varje par innehåller de två kort som hör ihop.
Faller tillbaka på namnet “Memory Game API”
Bra att veta
Ett kort är ett objekt med en type och ett value. Använd "text" för ord, eller "image", "audio", "youtube" eller "link" med en URL i value, och lägg till alt för en beskrivning.
POST/api/public/v1/matching-pairs2 till 30 i items
Innehåll
api_c_matching_pairs
Faller tillbaka på namnet “Matching Game API”
Bra att veta
Ett kort är ett objekt med en type och ett value. Använd "text" för ord, eller "image", "audio", "youtube" eller "link" med en URL i value, och lägg till alt för en beskrivning.
Endpointen sparar lika många kort som du skickar, så skicka exakt två per post — framsida, sedan baksida.
Ett kort är ett objekt med en type och ett value. Använd "text" för ord, eller "image", "audio", "youtube" eller "link" med en URL i value, och lägg till alt för en beskrivning.
POST/api/public/v1/categorizeMinst 2 i items · högst 60 kort totalt
Innehåll
En array av kategorier, var och en med ett namn och de kort som hör till den.
Faller tillbaka på namnet “Categorize Game API”
Bra att veta
En kategori som skickas utan namn sparas som “Untitled Category”, så skicka alltid ett.
Ett kort är ett objekt med en type och ett value. Använd "text" för ord, eller "image", "audio", "youtube" eller "link" med en URL i value, och lägg till alt för en beskrivning.
POST/api/public/v1/reorderMinst 1 i items · högst 60 kort totalt
Innehåll
En array av sekvenser. Var och en innehåller sina kort i rätt ordning.
Faller tillbaka på namnet “Reorder Game API”
Bra att veta
Ordningen du skickar sparas som den rätta ordningen — nummer ett först.
Ett kort är ett objekt med en type och ett value. Använd "text" för ord, eller "image", "audio", "youtube" eller "link" med en URL i value, och lägg till alt för en beskrivning.
En array av items som korten dras ur. Skicka tydligt fler än vad ett kort har rutor, så att korten skiljer sig åt.
Faller tillbaka på namnet “Bingo API”
Bra att veta
Ett item är ett objekt med ett value, och eventuellt en type ("text", "image" eller "audio" med en URL i value), en description (ledtråden som spelledaren läser upp i ledtrådsläget) och alt.
Inställningar den läser
Fält
Typ
Vad det gör
mode
valfritti settings
string
string
Vad som fyller rutorna: dina items, dina items som dras med sin ledtråd, eller vanliga tal (som inte behöver några items).
En avitemscluesnumbers
Standard: "items"
rows
valfritti settings
number
number
Rader på varje kort, 2 till 5.
Standard: 3
columns
valfritti settings
number
number
Kolumner på varje kort, 2 till 5.
Standard: 3
highest_number
valfritti settings
number
number
I talläget fylls korten från 1 upp till det här talet, högst 100. En paketfunktion: utan ett paket förblir det 50.
Standard: 50
Exempelanrop
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": "sv",
"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 array av tangenter. Tangenterna som ingår i koden anger sin plats i den.
Faller tillbaka på namnet “Keypad API”
Bra att veta
En tangent är ett objekt med ett value, och eventuellt en type ("text", "image" eller "audio" med en URL i value), alt och code_position: dess plats i koden, där 1 är först. En tangent kan ingå i koden en gång, och minst en tangent måste göra det.
Inställningar den läser
Fält
Typ
Vad det gör
instructions
valfritti settings
string
string
Frågan eller gåtan som koden svarar på, som visas tillsammans med panelen.
force_solution_in_correct_order
valfritti settings
boolean
boolean
Tangenterna måste tryckas i ordning. Avstängt öppnar de rätta tangenterna låset i vilken ordning som helst.
Standard: false
randomize_order
valfritti settings
boolean
boolean
Varje spelare får tangenterna i en blandad uppställning.
En array av kvartetter. Varje kvartett har ett namn och exakt fyra kort.
Faller tillbaka på namnet “Quartets API”
Bra att veta
Ett kort är ett namn, eller ett objekt med ett name och en description (faktumet som visas på det). Inget kortnamn får förekomma två gånger i spelet: spelarna ber om kort med namn.
Inställningar den läser
Fält
Typ
Vad det gör
type
valfritti settings
string
string
Ett vanligt spel, eller ett lärospel där varje kort visar ett faktum. Utelämnas det blir det learn om något kort har en description.
En avnormallearn
Exempelanrop
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": "sv",
"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"
}
}'
Lyckades
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/quartets/embed?p=-Nq8sample_activity_key",
"message": "Quartets game created successfully"
}
En array av frågor. Flervalsfrågor har sina svarsalternativ; öppna frågor har svaret du godkänner.
Faller tillbaka på namnet “Quiz API”
Bra att veta
question_type är "multiple_choice", där rätt alternativ har isCorrect true; "true_false", på samma sätt men med exakt två alternativ, där true kommer först och false sist; eller "open_answer", som använder correct_answer i stället. Om fältet utelämnas behandlas frågan som flerval.
Quizendpointen skickar settings rakt igenom som aktivitetens inställningsblock, så det är inte en plats för lösa alternativ — justera quizet i redigeraren efteråt.
Exempelanrop
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": "sv",
"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 är "multiple_choice", där rätt alternativ har isCorrect true; "true_false", på samma sätt men med exakt två alternativ, där true kommer först och false sist; eller "open_answer", som använder correct_answer i stället. Om fältet utelämnas behandlas frågan som flerval.
Inställningar den läser
Fält
Typ
Vad det gör
number_of_tiles
valfritti settings
number
number
Hur många rutor spelbrädet har. Mellan 10 och 75.
Standard: 30
game_mode
valfritti settings
string
string
Om spelarna kapplöper till mål eller samlar föremål på vägen.
En avrace_to_finishcollect_items
Standard: "race_to_finish"
Exempelanrop
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": "sv",
"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"
}
}'
Lyckades
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/board-game/embed?p=-Nq8sample_activity_key",
"message": "Board Game created successfully"
}
En array av kategorier, från vänster till höger. Varje kategori har ett namn och sina ledtrådar från översta raden och nedåt.
Faller tillbaka på namnet “Jeopardy API”
Bra att veta
En ledtråd är en fråga så som quizendpointen tar den, open_answer om inget annat anges, med correct_answer och eventuellt aliases. Den kan också ha value (sitt eget värde) och daily_double. null lämnar en ruta tom.
Inställningar den läser
Fält
Typ
Vad det gör
jeopardy_buzzer_mode
valfritti settings
string
string
Vem som spelar hur: spelledaren kör det från konsolen, spelarna ringer in från sina mobiler, eller varje spelare arbetar med brädet på egen hand.
En avhostphonessolo
Standard: "host"
jeopardy_contestants
valfritti settings
string
string
Om konsolen talar om lag eller om spelare.
En avteamsplayers
Standard: "teams"
jeopardy_value_step
valfritti settings
number
number
Vad en rad är värd: en ledtråd är värd det här gånger sitt radnummer. Från 50 till 500, i steg om 50.
Standard: 100
jeopardy_answer_time
valfritti settings
number
number
Sekunder att svara när en ledtråd är öppen, upp till 300. 0 betyder ingen klocka.
Standard: 20
jeopardy_wrong_answer_costs
valfritti settings
boolean
boolean
Ett fel svar drar ledtrådens värde från poängen.
Standard: false
jeopardy_reveal_on_timeout
valfritti settings
boolean
boolean
Brädet visar själva svaret när klockan går ut.
Standard: false
jeopardy_require_question_form
valfritti settings
boolean
boolean
Påminner spelarna om att svara i form av en fråga.
Standard: false
Exempelanrop
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": "sv",
"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 till 50 i items
Innehåll
api_c_interactive_video
Faller tillbaka på namnet “Interactive Video API”
Bra att veta
Ett popup-fönster är ett objekt med time (sekunder, eller "1:23"), kind ("question" om det inte står "note", "think" eller "chapter") och description. En fråga är en fråga så som quizendpointen tar den, och kan ha rewind_to: var ett felaktigt svar spelar om från.
Inställningar den läser
Fält
Typ
Vad det gör
video_url
obligatoriskti settings
string
string
Videon: en sida på YouTube, Vimeo eller Bunny Stream, eller en direktlänk till en mp4-, webm- eller mov-fil.
video_duration
valfritti settings
number
number
Videons längd i sekunder. När den anges avvisas ett popup-fönster som ligger efter slutet.
Exempelanrop
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": "sv",
"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
}
}'
Lyckades
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/interactive-video/embed?p=-Nq8sample_activity_key",
"message": "Interactive video created successfully"
}
Ingenting. Hela pusslet kommer ur dess två inställningar.
Faller tillbaka på namnet “Sudoku API”
Bra att veta
Skicka inga items och ingen sentence — size och difficulty är hela inmatningen.
Redigeraren erbjuder bara svårighetsgraden för 2x3, 3x3 och 3x4. API:et tillämpar den på alla storlekar, 2x2 och 4x4 inräknat.
Inställningar den läser
Fält
Typ
Vad det gör
size
valfritti settings
string
string
Storleken på ett block, skrivet som rader gånger kolumner — 3x3 ger det klassiska 9x9-rutnätet. Endpointen kontrollerar bara att det tolkas som två tal, så håll dig till storlekarna redigeraren erbjuder.
En av2x22x33x33x44x4
Standard: "3x3"
difficulty_level
valfritti settings
string
string
Hur många siffror som lämnas kvar i rutnätet att utgå från.
POST/api/public/v1/fill-in-the-gap1 till 50 i items
Innehåll
api_c_fill_in_the_gap
Faller tillbaka på namnet “Fill in the gap API”
Bra att veta
Skriv hela meningen och sätt asterisker runt varje ord som ska utelämnas: "Water boils at *100* degrees." Flera ord inom ett par är en enda lucka. En post kan också innehålla en instruktion som visas ovanför meningen.
Exempelanrop
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": "sv",
"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."
}
]
}'
Lyckades
{
"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 array av meningar. Varje ord som ska märkas skrivs som [word](label).
Faller tillbaka på namnet “Sentence analysis API”
Bra att veta
Skriv en mening som "The [dog](noun) [barks](verb)." Ord utan tagg visas men efterfrågas inte. Etiketterna noun, verb, adjective och subject visas för varje spelare på spelarens eget språk.
Inställningar den läser
Fält
Typ
Vad det gör
categories
valfritti settings
string[]
string[]
Etiketterna spelarna väljer mellan, i ordning. Utelämnas det blir det etiketterna som används i meningarna. Skicka det för att lägga till en etikett som inget ord har, eller för att bestämma ordningen.
Exempelanrop
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": "sv",
"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"
]
}
}'
Varje kategori måste ha lika många items, 3 till 6, alla olika. En kategori kan markeras som ordered (priser, tider, åldrar) med en valfri unit, vilket låter generatorn skriva ledtrådar om mer, mindre och hur mycket.
Inställningar den läser
Fält
Typ
Vad det gör
story
valfritti settings
string
string
Bakgrundshistorien som visas ovanför ledtrådarna.
difficulty
valfritti settings
string
string
Vilka sorters ledtrådar generatorn får använda.
En aveasymediumhard
Standard: "easy"
hints
valfritti settings
boolean
boolean
Erbjuder en knapp som visar nästa steg.
Standard: true
auto_cross
valfritti settings
boolean
boolean
Att markera en matchning stryker över resten av dess rad och kolumn.
Standard: true
clue_mode
valfritti settings
string
string
Vem som skriver ledtrådarna spelarna ser: genererade ur tabellen, dina egna meningar i free_clues, eller inga.
En avgeneratedfreenone
Standard: "generated"
free_clues
valfritti settings
string[]
string[]
Dina egna ledtrådsmeningar, visade som de är skrivna, med clue_mode "free". Ingenting kontrollerar dem.
Exempelanrop
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": "sv",
"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"
}
}'
POST/api/public/v1/scavenger-hunt1 till 50 i items
Innehåll
api_c_scavenger_hunt
Faller tillbaka på namnet “Scavenger Hunt API”
Bra att veta
Ett steg är ett objekt med title, description, code och eventuellt accepted_codes (andra stavningar som räknas), url och link_text. En kod kontrolleras utan hänsyn till versaler och mellanslag. Kartan med nålar kan bara läggas till i redigeraren.
Exempelanrop
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": "sv",
"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 till 50 i items
Innehåll
api_c_spatial_reasoning
Faller tillbaka på namnet “Spatial Reasoning API”
Bra att veta
Objekt och mål är square, triangle, circle, hexagon, pentagon, star, diamond eller heart. Relationer är inside, outside, behind, in_front_of, right_of, left_of, above, below, same_color_as, different_color_from, larger_than och smaller_than. En regel som aldrig kan uppfyllas svarar 400.
En array av meningar. Varje mening listar orden som ritas som bilder; alla andra ord förblir som sina bokstäver.
Faller tillbaka på namnet “Rebus API”
Bra att veta
Ett ord ritas av delar som tillsammans stavar det. En del har bokstäverna den står för (text), en emoji, och shows: ordet för det bilden visar ("broom" för en bild som står för "room"). Puzzel räknar ut bokstavsändringarna. En del kan i stället vara en symbol, till exempel 4 för "for".
Inställningar den läser
Fält
Typ
Vad det gör
rebus_commas
valfritti settings
boolean
boolean
Ritar en utelämnad första eller sista bokstav som ett kommatecken bredvid bilden.
En bild-URL, i fältet image. Den här endpointen tar inga items.
Faller tillbaka på namnet “Jigsaw Game API”
Bra att veta
API:et gör alltid ett 4 gånger 4-pussel. Antal bitar, oregelbundna bitar och raka kanter är inställningar i redigeraren — att skicka rows eller columns här gör ingenting.
URL:en sparas precis som du skickade den och filen kopieras aldrig, så den måste förbli publikt nåbar så länge aktiviteten spelas.
Inställningar den läser
Fält
Typ
Vad det gör
image
obligatoriskt
string
string
Absolut URL till bilden som ska delas upp i bitar. Skickas på toppnivå, inte inuti settings.
En bild-URL, inuti settings. Den här endpointen tar inga items.
Faller tillbaka på namnet “Sliding Puzzle API”
Bra att veta
Till skillnad från pusslets endpoint läser den här endpointen sin bild från settings.image. Ett image-fält på toppnivå ignoreras och anropet svarar 400.
URL:en sparas precis som du skickade den och filen kopieras aldrig, så den måste förbli publikt nåbar så länge aktiviteten spelas.
Inställningar den läser
Fält
Typ
Vad det gör
image
obligatoriskti settings
string
string
Absolut URL till bilden som ska blandas. Till skillnad från pusslets endpoint ligger den här inuti settings.