Én POST per aktivitetstype. Send innholdet ditt som JSON, og få tilbake en aktivitet i Puzzel.org-kontoen din og en URL du kan gi til spillere eller sette inn i en iframe.
Base-URL
https://puzzel.org/api/public/v1
Autentisering
Nøkkel og e-post i forespørselsteksten
Endepunkter
38 aktivitetstyper
Kvote
10 aktiviteter om dagen
Din første forespørsel
Ingenting å installere og ingen håndtrykk: send JSON-innhold med nøkkelen din, e-posten din og innholdet ditt. Svaret inneholder nøkkelen til den nye aktiviteten og URL-en 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": "no",
"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 siden er en komplett forespørsel du kan kjøre direkte. Bytt ut med din egen nøkkel og ditt eget innhold, så fungerer det som det er.
Autentisering
Det er ingen headere og ingen bearer-token. Begge opplysningene sendes som JSON-innhold i hver forespørsel, og nøkkelen godtas bare for kontoen som e-postadressen tilhører.
Felt
Type
Hva det gjør
account_api_key
obligatorisk
string
string
API-nøkkelen til kontoen din. Den skal være i forespørselsteksten, ikke i en header.
email
obligatorisk
string
string
Adressen Puzzel.org-kontoen din logger inn med. Nøkkelen er bare gyldig sammen med den.
Nøkkelen din ligger under kontodelen av dashbordet, bak Vis.
Behandle nøkkelen som et passord. Den oppretter og overskriver aktiviteter i kontoen din, så hold den på serversiden og unna alt en nettleser kan lese.
Forespørselsteksten
Hvert endepunkt tar imot de samme fem feltene. Det som er forskjellig, er innholdsfeltet under dem: de fleste tar imot en liste med items, noen få tar imot én setning eller ett bilde, og sudoku tar imot ingenting i det hele tatt.
Felt
Type
Hva det gjør
account_api_key
obligatorisk
string
string
API-nøkkelen til kontoen din. Den skal være i forespørselsteksten, ikke i en header.
email
obligatorisk
string
string
Adressen Puzzel.org-kontoen din logger inn med. Nøkkelen er bare gyldig sammen med den.
title
valgfritt
string
string
Navnet aktiviteten får i dashbordet ditt. Utelater du det, bruker endepunktet sitt eget standardnavn.
language
valgfritt
string
string
Bestemmer bare språket i URL-en du får tilbake — den oversetter ikke noe av det du sender. Ordsøk bruker den også til å bytte fyllbokstavene til arabisk når den er "ar".
Standard: "en"
activity_key
valgfritt
string
string
Utelat det for å opprette en ny aktivitet. Send inn nøkkelen til en du allerede eier, så bygges den aktiviteten om i stedet.
settings er et objekt med innstillinger som er spesifikke for hvert endepunkt. Hvilke det gjelder for et endepunkt, er listet opp under det; alt annet du legger der, blir ignorert.
Hva du får tilbake
Et vellykket kall svarer 200 med nøkkelen til den nye aktiviteten og URL-en den spilles på. Alt annet svarer med success satt til false og én enkelt feilmelding.
{
"success": false,
"error": "Invalid Email or API Key"
}
URL-en du får tilbake, er innbyggingsvisningen. Bytt ut embed med play for å åpne den på hele siden, eller med build for å åpne den i editoren — nøkkelen etter p= er den samme.
Opprette vs. oppdatere
Send inn activity_key, så bygges aktiviteten bak den om på stedet: innholdet erstattes, navnet og versjonsstempelet oppdateres, og selve nøkkelen forblir den samme — så lenker og innbygginger du allerede har delt, fortsetter å fungere. Resultater, mappeplassering og alle innstillinger endepunktet ikke skriver til selv, forblir 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 brukes ved hver oppdatering, inkludert standardverdien — utelater du det, blir aktiviteten omdøpt til endepunktets standardnavn.
Innstillingsblokkene et endepunkt skriver til selv, blir skrevet helt på nytt, så en oppdatering nullstiller også disse til verdiene du sender, eller til endepunktets standardverdier.
Du kan bare oppdatere aktiviteter din egen konto eier. En annens nøkkel svarer 403.
En oppdatering koster det samme som en opprettelse: ett kall av dagens kvote.
Hastighetsgrense
10
10 aktiviteter per konto per dag
Hvert vellykkede kall telles, opprettelser og oppdateringer likt. Går du over, svarer neste forespørsel 429 helt til telleren nullstilles.
Telleren nullstilles én gang om dagen av en planlagt jobb, ikke over et rullerende 24-timersvindu.
Feil
Feil kommer alltid som JSON med de samme to feltene, aldri som en HTML-side. Feilmeldingen er skrevet for at et menneske skal kunne lese den — den navngir feltet eller grensen som feilet.
Status
Hva det betyr
400
Bad Request
Noe i forespørselsteksten mangler, er feil formatert eller utenfor gyldig område. Meldingen navngir feltet.
401
Unauthorized
E-postadressen er ukjent, eller nøkkelen tilhører ikke den kontoen.
403
Forbidden
activity_key du sendte, tilhører en annen konto.
429
Too Many Requests
Dagens kvote er brukt opp. Den nullstilles én gang om dagen.
500
Server Error
Generatoren klarte ikke å bygge en oppgave av det du sendte inn — vanligvis for få ord, eller ord som ikke kan settes sammen.
Endepunkter
Én sti per aktivitetstype, alle POST, alle under samme base-URL. Hver av dem lister opp innholdet den trenger, innstillingene den leser og en forespørsel du kan kjøre.
Ord og bokstaver
R
I
S
O
A
S
K
E
A
Kryssord
Fletter svarene dine sammen i et rutenett og nummererer definisjonene for deg.
En liste med ord. Hver oppføring parer svaret med definisjonen som peker på det.
Faller tilbake til navnet “Crossword API”
Verdt å vite
Svar som er kortere enn to tegn, blir fjernet før rutenettet bygges, og minst to må overleve det.
Svarene skrives med store bokstaver, og generatoren får tjue forsøk på å plassere dem. Klarer den ikke å plassere et eneste ord, svarer kallet 500.
Innstillinger den leser
Felt
Type
Hva det gjør
hidden_solution
valgfritti settings
string
string
Et valgfritt bonusord. Bokstavene i det er markert i rutene i det ferdige rutenettet, så spillerne kan samle dem når kryssordet er løst. Derfor må hver bokstav i det finnes i svarene.
Eksempelforespørsel
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": "no",
"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"
}
]
}'
Aktiviteter laget gjennom API-et har alltid innstillingen for å stokke rekkefølgen slått på, så rekkefølgen du sender, er ikke rekkefølgen spillerne får.
Innstillinger den leser
Felt
Type
Hva det gjør
hidden_solution
valgfritti settings
string
string
Et valgfritt bonusord spillerne skriver inn når resten er løst.
Eksempelforespørsel
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": "no",
"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
Innhold
api_c_typing_practice
Faller tilbake til navnet “Typing Practice API”
Eksempelforespørsel
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": "no",
"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"
}
]
}'
Vellykket
{
"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 med temaord. Sammen med spangrammet må bokstavene deres fylle brettet nøyaktig.
Faller tilbake til navnet “Strands API”
Verdt å vite
Bokstavene i alle ordene og spangrammet til sammen må bli nøyaktig 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 eller 80. Ethvert annet antall svarer 400 og sier hvor mange bokstaver du må legge til eller fjerne.
Innstillinger den leser
Felt
Type
Hva det gjør
theme
valgfritti settings
string
string
Gåten som vises over rutenettet. Utelater du den, ser spillerne tittelen.
spangram
valgfritti settings
string
string
Ordet eller frasen som navngir temaet og krysser brettet fra den ene kanten til den andre.
En oppføring er et objekt med en answer, og eventuelt aliases (andre skrivemåter som teller), en description (tipset) og en group. Store bokstaver, aksenter og tegnsetting ignoreres når et navn sjekkes.
Innstillinger den leser
Felt
Type
Hva det gjør
list_match_mode
valgfritti settings
string
string
Om et navn teller i det øyeblikket det skrives, eller først når du trykker Enter.
Én avwhile_typingon_enter
Standard: "while_typing"
list_slot_hint
valgfritti settings
string
string
Hva en tom plass røper: ingenting, lengden på navnet, første bokstav, eller tipset du skrev.
Én avnonelengthfirst_letterhint
Standard: "none"
list_arrange
valgfritti settings
string
string
Én kolonne per gruppe, eller én liste.
Én avgroupsone_list
Standard: "groups"
list_allow_give_up
valgfritti settings
boolean
boolean
Viser en gi opp-knapp som avslutter runden og viser det som ble glemt.
{
"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 med par. Hvert par inneholder de to kortene som hører sammen.
Faller tilbake til navnet “Memory Game API”
Verdt å vite
Et kort er et objekt med en type og en value. Bruk "text" for ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og legg til alt for en beskrivelse.
Et kort er et objekt med en type og en value. Bruk "text" for ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og legg til alt for en beskrivelse.
Endepunktet lagrer like mange kort som du sender, så send nøyaktig to per oppføring — forside, så bakside.
Et kort er et objekt med en type og en value. Bruk "text" for ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og legg til alt for en beskrivelse.
POST/api/public/v1/categorizeMinst 2 i items · Høyst 60 kort i alt
Innhold
En liste med kategorier, hver med et navn og kortene som hører til i den.
Faller tilbake til navnet “Categorize Game API”
Verdt å vite
En kategori sendt uten navn, lagres som “Kategori uten navn”, så send alltid et navn.
Et kort er et objekt med en type og en value. Bruk "text" for ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og legg til alt for en beskrivelse.
POST/api/public/v1/reorderMinst 1 i items · Høyst 60 kort i alt
Innhold
En liste med rekkefølger. Hver av dem inneholder kortene sine i riktig rekkefølge.
Faller tilbake til navnet “Reorder Game API”
Verdt å vite
Rekkefølgen du sender, lagres som den riktige rekkefølgen — nummer én først.
Et kort er et objekt med en type og en value. Bruk "text" for ord, eller "image", "audio", "youtube" eller "link" med en URL i value, og legg til alt for en beskrivelse.
En liste med items som kortene trekkes fra. Send tydelig flere enn det er ruter på ett kort, så kortene blir forskjellige.
Faller tilbake til navnet “Bingo API”
Verdt å vite
Et item er et objekt med en value, og eventuelt en type ("text", "image" eller "audio" med en URL i value), en description (ledetråden spillederen leser opp i ledetrådmodus) og alt.
Innstillinger den leser
Felt
Type
Hva det gjør
mode
valgfritti settings
string
string
Hva som fyller rutene: dine items, dine items trukket etter ledetråden, eller vanlige tall (som ikke trenger items).
Én avitemscluesnumbers
Standard: "items"
rows
valgfritti settings
number
number
Rader på hvert kort, 2 til 5.
Standard: 3
columns
valgfritti settings
number
number
Kolonner på hvert kort, 2 til 5.
Standard: 3
highest_number
valgfritti settings
number
number
I tallmodus fylles kortene fra 1 og opp til dette tallet, høyst 100. Krever en plan: uten plan forblir det 50.
Standard: 50
Eksempelforespørsel
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": "no",
"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 med kort. Kortene som er med i koden, angir plassen sin i den.
Faller tilbake til navnet “Keypad API”
Verdt å vite
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: plassen i koden, 1 først. Et kort kan være med i koden én gang, og minst ett kort må være det.
Innstillinger den leser
Felt
Type
Hva det gjør
instructions
valgfritti settings
string
string
Spørsmålet eller gåten koden svarer på, vist sammen med kortene.
force_solution_in_correct_order
valgfritti settings
boolean
boolean
Kortene må trykkes i rekkefølge. Slått av åpner enhver rekkefølge av de riktige kortene låsen.
En liste med kvartetter. Hver har et navn og nøyaktig fire kort.
Faller tilbake til navnet “Quartets API”
Verdt å vite
Et kort er et navn, eller et objekt med et navn og en description (faktaet som vises på det). Ingen kortnavn kan stå to ganger i spillet: spillerne ber om kort ved navn.
Innstillinger den leser
Felt
Type
Hva det gjør
type
valgfritti settings
string
string
Et vanlig spill, eller et læringsspill der hvert kort viser et faktum. Utelater du den, er det learn når et kort har en description.
Én avnormallearn
Eksempelforespørsel
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": "no",
"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"
}
}'
Vellykket
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/quartets/embed?p=-Nq8sample_activity_key",
"message": "Quartets game created successfully"
}
En liste med spørsmål. Flervalgsspørsmål har svarene sine med seg; åpne spørsmål har svaret du godtar.
Faller tilbake til navnet “Quiz API”
Verdt å vite
question_type er "multiple_choice", der det riktige alternativet har isCorrect true; "true_false", det samme med nøyaktig to alternativer, true først og false sist; eller "open_answer", som bruker correct_answer i stedet. Hvis feltet utelates, behandles spørsmålet som flervalg.
Quiz-endepunktet sender settings rett gjennom som blokker med aktivitetsinnstillinger, så det er ikke stedet for løse valg — juster quizen i editoren etterpå.
Eksempelforespørsel
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": "no",
"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 "multiple_choice", der det riktige alternativet har isCorrect true; "true_false", det samme med nøyaktig to alternativer, true først og false sist; eller "open_answer", som bruker correct_answer i stedet. Hvis feltet utelates, behandles spørsmålet som flervalg.
Innstillinger den leser
Felt
Type
Hva det gjør
number_of_tiles
valgfritti settings
number
number
Hvor mange ruter brettet har. Mellom 10 og 75.
Standard: 30
game_mode
valgfritti settings
string
string
Om spillerne kappløper til mål eller samler gjenstander underveis.
Én avrace_to_finishcollect_items
Standard: "race_to_finish"
Eksempelforespørsel
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": "no",
"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"
}
}'
Vellykket
{
"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 med flervalgs- eller sant/usant-spørsmål, nøyaktig i den formen quiz-endepunktet tar imot. Åpne spørsmål avvises: en dør trenger et svar skrevet på seg.
Faller tilbake til navnet “Maze API”
Innstillinger den leser
Felt
Type
Hva det gjør
maze_width
valgfritti settings
string
string
Hvordan rommene er lagt ut: én kolonne, et kvadrat eller bredere.
Én avnarrownormalwide
Standard: "normal"
maze_corridors
valgfritti settings
string
string
Hvor mye labyrint det er mellom to spørsmål.
Én avshortnormallong
Standard: "normal"
maze_fog
valgfritti settings
string
string
Vis hele labyrinten, eller bare det spilleren har vært ved siden av.
Én avoffnear
Standard: "off"
maze_wrong_door_pause
valgfritti settings
string
string
Hvor lenge dørene forblir stengt etter en feil dør.
Én avnoneshortlong
Standard: "short"
maze_walk_there
valgfritti settings
boolean
boolean
Viser en knapp som går med figuren til neste rom.
Standard: false
maze_seed
valgfritti settings
string
string
Frøet labyrinten genereres fra. Samme frø og samme spørsmål gir samme labyrint. Utelater du det, trekkes en ny.
Eksempelforespørsel
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": "no",
"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 med kategorier, fra venstre mot høyre. Hver har et navn og ledetrådene sine fra øverste rad og nedover.
Faller tilbake til navnet “Jeopardy API”
Verdt å vite
En ledetråd er et spørsmål slik quiz-endepunktet tar imot det, open_answer med mindre noe annet er angitt, med correct_answer og eventuelt aliases. Den kan også ha value (sin egen verdi) og daily_double. null lar en rute stå tom.
Innstillinger den leser
Felt
Type
Hva det gjør
jeopardy_buzzer_mode
valgfritti settings
string
string
Hvem som spiller hvordan: spillederen styrer det fra konsollen, spillerne bruker summeren fra telefonene sine, eller hver spiller jobber seg gjennom brettet alene.
Én avhostphonessolo
Standard: "host"
jeopardy_contestants
valgfritti settings
string
string
Om konsollen snakker om lag eller om spillere.
Én avteamsplayers
Standard: "teams"
jeopardy_value_step
valgfritti settings
number
number
Hva en rad er verdt: en ledetråd er verdt dette ganger radnummeret. Fra 50 til 500, i trinn på 50.
Standard: 100
jeopardy_answer_time
valgfritti settings
number
number
Sekunder til å svare når en ledetråd er åpnet, opptil 300. 0 betyr ingen klokke.
Standard: 20
jeopardy_wrong_answer_costs
valgfritti settings
boolean
boolean
Et feil svar trekker ledetrådens verdi fra poengsummen.
Standard: false
jeopardy_reveal_on_timeout
valgfritti settings
boolean
boolean
Brettet viser selve svaret når klokken går ut.
Standard: false
jeopardy_require_question_form
valgfritti settings
boolean
boolean
Minner spillerne om å svare i form av et spørsmål.
Standard: false
Eksempelforespørsel
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": "no",
"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
Innhold
api_c_interactive_video
Faller tilbake til navnet “Interactive Video API”
Verdt å vite
Et øyeblikk er et objekt med time (sekunder, eller "1:23"), kind ("question" med mindre det står "note", "think" eller "chapter") og description. Et spørsmål er et spørsmål slik quiz-endepunktet tar imot det, og kan ha rewind_to: der et feil svar spilles av på nytt fra.
Innstillinger den leser
Felt
Type
Hva det gjør
video_url
obligatoriski settings
string
string
Videoen: en YouTube-, Vimeo- eller Bunny Stream-side, eller en direkte lenke til en mp4-, webm- eller mov-fil.
video_duration
valgfritti settings
number
number
Lengden på videoen i sekunder. Når den er oppgitt, avvises et øyeblikk etter slutten.
Eksempelforespørsel
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": "no",
"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
}
}'
Vellykket
{
"success": true,
"id": "-Nq8sample_activity_key",
"url": "https://puzzel.org/en/interactive-video/embed?p=-Nq8sample_activity_key",
"message": "Interactive video created successfully"
}
Ingenting. Hele oppgaven kommer fra de to innstillingene.
Faller tilbake til navnet “Sudoku API”
Verdt å vite
Ikke send items eller sentence — size og difficulty er hele inndataen.
Editoren tilbyr bare vanskelighetsgrad for 2x3, 3x3 og 3x4. API-et bruker den på alle størrelser, inkludert 2x2 og 4x4.
Innstillinger den leser
Felt
Type
Hva det gjør
size
valgfritti settings
string
string
Størrelsen på én blokk, skrevet som rader ganger kolonner — 3x3 gir det klassiske 9x9-rutenettet. Endepunktet sjekker bare at det kan tolkes som to tall, så hold deg til størrelsene editoren tilbyr.
Én av2x22x33x33x44x4
Standard: "3x3"
difficulty_level
valgfritti settings
string
string
Hvor mange tall som blir stående igjen i rutenettet som utgangspunkt.
POST/api/public/v1/fill-in-the-gap1 til 50 i items
Innhold
api_c_fill_in_the_gap
Faller tilbake til navnet “Fill in the gap API”
Verdt å vite
Skriv hele setningen og sett stjerner rundt hvert ord som skal utelates: "Water boils at *100* degrees." Flere ord inni ett par er ett hull. En oppføring kan også ha en instruks som vises over setningen.
Eksempelforespørsel
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": "no",
"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."
}
]
}'
Vellykket
{
"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 med setninger. Hvert ord som skal merkes, skrives som [word](label).
Faller tilbake til navnet “Sentence analysis API”
Verdt å vite
Skriv en setning som "The [dog](noun) [barks](verb)." Ord uten tagg vises, men det spørres ikke om dem. Merkelappene noun, verb, adjective og subject vises til hver spiller på deres eget språk.
Innstillinger den leser
Felt
Type
Hva det gjør
categories
valgfritti settings
string[]
string[]
Merkelappene spillerne velger mellom, i rekkefølge. Utelater du den, er det merkelappene som brukes i setningene. Send den for å legge til en merkelapp ingen ord har, eller for å bestemme rekkefølgen.
Eksempelforespørsel
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": "no",
"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 trenger like mange items, 3 til 6, alle forskjellige. Én kategori kan markeres som ordnet (priser, tider, aldre) med en valgfri enhet, som lar generatoren skrive ledetråder om mer, mindre og hvor mye.
Innstillinger den leser
Felt
Type
Hva det gjør
story
valgfritti settings
string
string
Bakgrunnshistorien som vises over ledetrådene.
difficulty
valgfritti settings
string
string
Hvilke typer ledetråder generatoren kan bruke.
Én aveasymediumhard
Standard: "easy"
hints
valgfritti settings
boolean
boolean
Viser en knapp som viser neste steg.
Standard: true
auto_cross
valgfritti settings
boolean
boolean
Når du markerer et treff, krysses resten av raden og kolonnen ut.
Standard: true
clue_mode
valgfritti settings
string
string
Hvem som skriver ledetrådene spillerne ser: generert fra tabellen, dine egne setninger i free_clues, eller ingen.
Én avgeneratedfreenone
Standard: "generated"
free_clues
valgfritti settings
string[]
string[]
Dine egne ledetrådsetninger, vist slik de er skrevet, med clue_mode "free". Ingenting sjekker dem.
Eksempelforespørsel
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": "no",
"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 trinn er et objekt med title, description, code og eventuelt accepted_codes (andre skrivemåter som teller), url og link_text. En kode sjekkes uten hensyn til store bokstaver og mellomrom. Kartet med nåler kan bare legges til i editoren.
Eksempelforespørsel
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": "no",
"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
Innhold
api_c_spatial_reasoning
Faller tilbake til navnet “Spatial Reasoning API”
Verdt å vite
Objekter og mål er square, triangle, circle, hexagon, pentagon, star, diamond eller heart. Relasjoner 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 som aldri kan oppfylles, svarer 400.
En liste med setninger. Hver lister opp ordene som er tegnet som bilder. Alle andre ord står igjen som bokstaver.
Faller tilbake til navnet “Rebus API”
Verdt å vite
Et ord tegnes av deler som til sammen staver det. En del har bokstavene den står for (text), en emoji og shows: ordet for det bildet viser ("broom" for et bilde som står for "room"). Puzzel finner ut bokstavendringene. En del kan i stedet være et symbol, for eksempel 4 for "for".
Innstillinger den leser
Felt
Type
Hva det gjør
rebus_commas
valgfritti settings
boolean
boolean
Tegner en bokstav som er falt bort først eller sist, som et komma ved siden av bildet.
Én bilde-URL, i feltet image. Dette endepunktet tar ikke imot items.
Faller tilbake til navnet “Jigsaw Game API”
Verdt å vite
API-et lager alltid et puslespill på 4 ganger 4. Antall brikker, uregelmessige brikker og rette kanter er innstillinger i editoren — å sende rader eller kolonner her gjør ingenting.
URL-en lagres slik du sendte den, og filen blir aldri kopiert, så den må forbli offentlig tilgjengelig så lenge aktiviteten spilles.
Innstillinger den leser
Felt
Type
Hva det gjør
image
obligatorisk
string
string
Absolutt URL til bildet som skal kuttes opp. Sendes på øverste nivå, ikke inni settings.
POST/api/public/v1/slidingpuzzleTar ikke imot items
Innhold
Én bilde-URL, inni settings. Dette endepunktet tar ikke imot items.
Faller tilbake til navnet “Sliding Puzzle API”
Verdt å vite
I motsetning til puslespillet leser dette endepunktet bildet sitt fra settings.image. Et image-felt på øverste nivå blir ignorert, og kallet svarer 400.
URL-en lagres slik du sendte den, og filen blir aldri kopiert, så den må forbli offentlig tilgjengelig så lenge aktiviteten spilles.
Innstillinger den leser
Felt
Type
Hva det gjør
image
obligatoriski settings
string
string
Absolutt URL til bildet som skal blandes. I motsetning til puslespillets ligger dette inni settings.