Hoppa till innehållet
Utvecklar-API

Bygg aktiviteter från ditt eget system

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"
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

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ältTypVad det gör
account_api_key
obligatoriskt
string
stringDitt kontos API-nyckel. Den skickas i body, inte i en header.
email
obligatoriskt
string
stringAdressen ditt Puzzel.org-konto loggar in med. Nyckeln är bara giltig tillsammans med den.

Din nyckel finns under kontodelen av instrumentpanelen, bakom Visa.

Logga in

API-nycklar delas ut när en prenumeration startar, så ett gratiskonto har ingen ännu.

Se paketen

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ältTypVad det gör
account_api_key
obligatoriskt
string
stringDitt kontos API-nyckel. Den skickas i body, inte i en header.
email
obligatoriskt
string
stringAdressen ditt Puzzel.org-konto loggar in med. Nyckeln är bara giltig tillsammans med den.
title
valfritt
string
stringNamnet aktiviteten får i instrumentpanelen. Utelämna det så använder endpointen sitt eget standardnamn.
language
valfritt
string
stringAvgö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
stringUtelä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.

Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}
Misslyckades
{
  "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.

StatusVad 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

Korsord

Länkar ihop dina svar i ett rutnät och numrerar definitionerna åt dig.

#
POST /api/public/v1/crossword 2 till 80 i items
Innehåll

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ältTypVad det gör
hidden_solution
valfritt i settings
string
stringEtt 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"
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/crossword/embed?p=-Nq8sample_activity_key",
  "message": "Crossword created successfully"
}

Ordsök

Gömmer dina ord i ett bokstavsrutnät, i de riktningar och den form du väljer.

#
POST /api/public/v1/wordseeker 2 till 40 i items
Innehåll

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ältTypVad det gör
hidden_solution
valfritt i settings
string
stringDe ö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
valfritt i 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 av westeastnorthsouthnorthwestnortheastsouthwestsoutheast
Standard: ["east", "southeast", "south"]
template
valfritt i settings
string
stringSkär till rutnätet i en form istället för att lämna det kvadratiskt.
En av squarecirclecrossdiamondpyramidsmileystarcross_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"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordseeker/embed?p=-Nq8sample_activity_key",
  "message": "Wordseeker created successfully"
}

Akrostikon

Staplar dina svar så att en kolumn stavar ett dolt ord.

#
POST /api/public/v1/acrostic 1 till 40 i items
Innehåll

En array av ord. Tillsammans måste de innehålla varje bokstav i det dolda ordet.

Faller tillbaka på namnet “Acrostic API”

Bra att veta
  • Om svaren inte kan tillhandahålla bokstäverna lösningen behöver svarar anropet 500 istället för att spara ett halvbyggt rutnät.
  • Generatorn ändrar ordningen på dina svar för att få kolumnen att fungera, så ordningen du skickar är inte den ordning spelarna ser.
Inställningar den läser
FältTypVad det gör
hidden_solution
obligatoriskt i settings
string
stringOrdet den markerade kolumnen stavar ut. Den här endpointen körs inte utan det.
Exempelanrop
POST acrostic
curl -X POST https://puzzel.org/api/public/v1/acrostic \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Acrostic",
  "language": "sv",
  "items": [
    {
      "answer": "PEACH",
      "description": "Fuzzy skin, sweet flesh",
      "type": "text"
    },
    {
      "answer": "BANANA",
      "description": "A long yellow fruit",
      "type": "text"
    },
    {
      "answer": "CHERRY",
      "description": "A small red stone fruit",
      "type": "text"
    },
    {
      "answer": "MELON",
      "description": "Big, green outside, sweet inside",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "PLUM"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/acrostic/embed?p=-Nq8sample_activity_key",
  "message": "Acrostic created successfully"
}

Anagram

api_e_word_scramble

#
POST /api/public/v1/word-scramble 1 till 40 i items
Innehåll

api_c_word_scramble

Faller tillbaka på namnet “Word Scramble API”

Bra att veta
  • 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ältTypVad det gör
hidden_solution
valfritt i settings
string
stringEtt 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"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/word-scramble/embed?p=-Nq8sample_activity_key",
  "message": "Word Scramble created successfully"
}

Hänga gubbe

Gör om dina ord eller fraser till gissa-bokstaven-omgångar.

#
POST /api/public/v1/hangman 1 till 50 i items
Innehåll

En array av ord eller korta fraser. Ledtråden är tipset spelarna ser.

Faller tillbaka på namnet “Hangman API”

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

Wordle

Gör om varje ord du skickar till ett gissa-ordet-spel.

#
POST /api/public/v1/wordle 1 till 50 i items
Innehåll

En array av ord. Spelarna får en omgång per ord.

Faller tillbaka på namnet “Wordle API”

Bra att veta
  • Skapas med inställningen för att kontrollera att gissningar är riktiga ord påslagen. Stäng av den i redigeraren om dina ord är namn eller påhittade.
Exempelanrop
POST wordle
curl -X POST https://puzzel.org/api/public/v1/wordle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wordle",
  "language": "sv",
  "items": [
    {
      "answer": "MELON",
      "description": "Sweet and green",
      "type": "text"
    },
    {
      "answer": "PEACH",
      "description": "Fuzzy and orange",
      "type": "text"
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wordle/embed?p=-Nq8sample_activity_key",
  "message": "Wordle created successfully"
}

Tangentbordsträning

api_e_typing_practice

#
POST /api/public/v1/typing-practice 1 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"
}

Lyckohjul

api_e_wheel_of_fortune

#
POST /api/public/v1/wheel-of-fortune 1 till 50 i items
Innehåll

api_c_wheel_of_fortune

Faller tillbaka på namnet “Wheel of Fortune API”

Bra att veta
  • Skapas med “visa resultatet enbart i hjulet”, så resultatet läses av hjulet istället för att meddelas bredvid det.
Exempelanrop
POST wheel-of-fortune
curl -X POST https://puzzel.org/api/public/v1/wheel-of-fortune \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Wheel of Fortune",
  "language": "sv",
  "items": [
    {
      "answer": "Read a page aloud",
      "description": "Segment 1",
      "type": "text"
    },
    {
      "answer": "Name three fruits",
      "description": "Segment 2",
      "type": "text"
    },
    {
      "answer": "Spell it backwards",
      "description": "Segment 3",
      "type": "text"
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/wheel-of-fortune/embed?p=-Nq8sample_activity_key",
  "message": "Wheel of Fortune created successfully"
}

Pilkryss

Ett pilkryss: definitionerna står inne i rutnätet, var och en med en pil mot sitt svar.

#
POST /api/public/v1/arrowword 2 till 80 i items
Innehåll

En array av ord. Varje post kopplar ihop svaret med en definition som är kort nog att rymmas i en ruta.

Faller tillbaka på namnet “Arrowword API”

Inställningar den läser
FältTypVad det gör
hidden_solution
valfritt i settings
string
stringEtt valfritt bonusord. Dess bokstäver markeras i rutor i det färdiga rutnätet, och därför måste varje bokstav i det finnas med bland svaren.
Exempelanrop
POST arrowword
curl -X POST https://puzzel.org/api/public/v1/arrowword \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Arrowword",
  "language": "sv",
  "items": [
    {
      "answer": "Stockholm",
      "description": "Capital of Sweden",
      "type": "text"
    },
    {
      "answer": "Oslo",
      "description": "Capital of Norway",
      "type": "text"
    },
    {
      "answer": "Helsinki",
      "description": "Capital of Finland",
      "type": "text"
    }
  ],
  "settings": {
    "hidden_solution": "North"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/arrowword/embed?p=-Nq8sample_activity_key",
  "message": "Arrowword created successfully"
}

Strands

Ett rutnät där varje bokstav hör till ett ord inom ett tema, med ett ord som namnger temat och löper från kant till kant.

#
POST /api/public/v1/strands 2 till 24 i items
Innehåll

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ältTypVad det gör
theme
valfritt i settings
string
stringGåtan som visas ovanför rutnätet. Utelämnas den ser spelarna titeln.
spangram
valfritt i settings
string
stringOrdet eller frasen som namnger temat och går över brädet från ena kanten till den andra.
Exempelanrop
POST strands
curl -X POST https://puzzel.org/api/public/v1/strands \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Strands",
  "language": "sv",
  "items": [
    {
      "answer": "whisk",
      "type": "text"
    },
    {
      "answer": "ladle",
      "type": "text"
    },
    {
      "answer": "spatula",
      "type": "text"
    },
    {
      "answer": "grater",
      "type": "text"
    },
    {
      "answer": "peeler",
      "type": "text"
    },
    {
      "answer": "skillet",
      "type": "text"
    }
  ],
  "settings": {
    "theme": "What the cook reaches for",
    "spangram": "Kitchen tools"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/strands/embed?p=-Nq8sample_activity_key",
  "message": "Strands created successfully"
}

Uppräkningslek

api_e_name_them_all

#
POST /api/public/v1/name-them-all 1 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ältTypVad det gör
list_match_mode
valfritt i settings
string
stringOm ett namn räknas i samma stund som det skrivs, eller först när man trycker Enter.
En av while_typingon_enter
Standard: "while_typing"
list_slot_hint
valfritt i settings
string
stringVad en tom plats avslöjar: ingenting, namnets längd, dess första bokstav, eller tipset du skrev.
En av nonelengthfirst_letterhint
Standard: "none"
list_arrange
valfritt i settings
string
stringEn kolumn per grupp, eller en enda lista.
En av groupsone_list
Standard: "groups"
list_allow_give_up
valfritt i settings
boolean
booleanVisar en knapp för att ge upp som avslutar omgången och avslöjar vad som missades.
Standard: false
Exempelanrop
POST name-them-all
curl -X POST https://puzzel.org/api/public/v1/name-them-all \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Name Them All",
  "language": "sv",
  "items": [
    {
      "answer": "United Kingdom",
      "aliases": [
        "UK",
        "Great Britain",
        "Britain"
      ],
      "group": "Islands"
    },
    {
      "answer": "Ireland",
      "aliases": [
        "Éire"
      ],
      "group": "Islands"
    },
    {
      "answer": "Côte d'Azur's neighbour Monaco",
      "aliases": [
        "Monaco"
      ],
      "description": "The smallest one",
      "group": "Mainland"
    }
  ],
  "settings": {
    "list_slot_hint": "first_letter",
    "list_match_mode": "on_enter",
    "list_allow_give_up": true
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/name-them-all/embed?p=-Nq8sample_activity_key",
  "message": "Name them all list created successfully"
}
Kort & par

Memory

Kort med baksidan upp som vänds och paras ihop.

#
POST /api/public/v1/memory 2 till 30 i items
Innehåll

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.
Exempelanrop
POST memory
curl -X POST https://puzzel.org/api/public/v1/memory \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Memory Game",
  "language": "sv",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/memory/embed?p=-Nq8sample_activity_key",
  "message": "Memory game created successfully"
}

Matcha ihop

api_e_matching_pairs

#
POST /api/public/v1/matching-pairs 2 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.
Exempelanrop
POST matching-pairs
curl -X POST https://puzzel.org/api/public/v1/matching-pairs \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Matching Game",
  "language": "sv",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/matching-pairs/embed?p=-Nq8sample_activity_key",
  "message": "Matching pairs game created successfully"
}

Flashcards

api_e_flash_cards

#
POST /api/public/v1/flash-cards 1 till 150 i items
Innehåll

api_c_flash_cards

Faller tillbaka på namnet “Flash Cards API”

Bra att veta
  • 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.
Exempelanrop
POST flash-cards
curl -X POST https://puzzel.org/api/public/v1/flash-cards \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Flash Cards",
  "language": "sv",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "Apple"
        },
        {
          "type": "text",
          "value": "A red fruit"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "A yellow fruit"
        }
      ]
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/flash-cards/embed?p=-Nq8sample_activity_key",
  "message": "Flash Cards created successfully"
}

Sorteringspussel

Kort som sorteras i kategorin de hör hemma i.

#
POST /api/public/v1/categorize Minst 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.
Exempelanrop
POST categorize
curl -X POST https://puzzel.org/api/public/v1/categorize \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Categorize Game",
  "language": "sv",
  "items": [
    {
      "name": "Red fruits",
      "cards": [
        {
          "type": "text",
          "value": "Strawberry"
        },
        {
          "type": "text",
          "value": "Cherry"
        }
      ]
    },
    {
      "name": "Yellow fruits",
      "cards": [
        {
          "type": "text",
          "value": "Banana"
        },
        {
          "type": "text",
          "value": "Lemon"
        }
      ]
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/categorize/embed?p=-Nq8sample_activity_key",
  "message": "Categorize game created successfully"
}

Ordningspussel

En sekvens spelarna måste sätta i rätt ordning.

#
POST /api/public/v1/reorder Minst 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.
Exempelanrop
POST reorder
curl -X POST https://puzzel.org/api/public/v1/reorder \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Reorder Game",
  "language": "sv",
  "items": [
    {
      "name": "From seed to fruit",
      "cards": [
        {
          "type": "text",
          "value": "Plant the seed"
        },
        {
          "type": "text",
          "value": "Water it"
        },
        {
          "type": "text",
          "value": "Watch it grow"
        },
        {
          "type": "text",
          "value": "Pick the fruit"
        }
      ]
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/reorder/embed?p=-Nq8sample_activity_key",
  "message": "Reorder game created successfully"
}

Bingo

Ett klassbingo som spelledaren drar live: varje spelare får ett kort som dras ur dina items.

#
POST /api/public/v1/bingo Tar inga items
Innehåll

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ältTypVad det gör
mode
valfritt i settings
string
stringVad som fyller rutorna: dina items, dina items som dras med sin ledtråd, eller vanliga tal (som inte behöver några items).
En av itemscluesnumbers
Standard: "items"
rows
valfritt i settings
number
numberRader på varje kort, 2 till 5.
Standard: 3
columns
valfritt i settings
number
numberKolumner på varje kort, 2 till 5.
Standard: 3
highest_number
valfritt i settings
number
numberI 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
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/bingo/embed?p=-Nq8sample_activity_key",
  "message": "Bingo created successfully"
}

Jag har, vem har

api_e_i_have_who_has

#
POST /api/public/v1/i-have-who-has 3 till 40 i items
Innehåll

api_c_i_have_who_has

Faller tillbaka på namnet “I Have, Who Has API”

Bra att veta
  • Ingen fråga och inget svar får förekomma två gånger: en elev som håller svaret skulle inte kunna veta vilken fråga det hör till.
Inställningar den läser
FältTypVad det gör
chain_shape
valfritt i settings
string
stringEn slinga sluter sig själv, så vilket kort som helst kan starta; en rad öppnas med ett Startkort och slutar med ett Slutkort.
En av loopline
Standard: "loop"
Exempelanrop
POST i-have-who-has
curl -X POST https://puzzel.org/api/public/v1/i-have-who-has \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "I Have, Who Has",
  "language": "sv",
  "items": [
    {
      "cards": [
        {
          "type": "text",
          "value": "3 × 4"
        },
        {
          "type": "text",
          "value": "12"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "6 × 7"
        },
        {
          "type": "text",
          "value": "42"
        }
      ]
    },
    {
      "cards": [
        {
          "type": "text",
          "value": "9 × 9"
        },
        {
          "type": "text",
          "value": "81"
        }
      ]
    }
  ],
  "settings": {
    "chain_shape": "line"
  }
}'
Lyckades
{
  "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"
}

Kodlås

Ett kodlås: en panel med tangenter, där några tillsammans utgör koden.

#
POST /api/public/v1/keypad 1 till 30 i items
Innehåll

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ältTypVad det gör
instructions
valfritt i settings
string
stringFrågan eller gåtan som koden svarar på, som visas tillsammans med panelen.
force_solution_in_correct_order
valfritt i settings
boolean
booleanTangenterna måste tryckas i ordning. Avstängt öppnar de rätta tangenterna låset i vilken ordning som helst.
Standard: false
randomize_order
valfritt i settings
boolean
booleanVarje spelare får tangenterna i en blandad uppställning.
Standard: true
Exempelanrop
POST keypad
curl -X POST https://puzzel.org/api/public/v1/keypad \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Keypad",
  "language": "sv",
  "items": [
    {
      "type": "text",
      "value": "4"
    },
    {
      "type": "text",
      "value": "7",
      "code_position": 2
    },
    {
      "type": "text",
      "value": "9"
    },
    {
      "type": "text",
      "value": "2",
      "code_position": 1
    }
  ],
  "settings": {
    "instructions": "Press the prime numbers, smallest first.",
    "force_solution_in_correct_order": true,
    "randomize_order": false
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/keypad/embed?p=-Nq8sample_activity_key",
  "message": "Keypad created successfully"
}

Kvartettspel

Kortspelet: spelarna ber varandra om kort för att samla kvartetter.

#
POST /api/public/v1/quartets 2 till 16 i items
Innehåll

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ältTypVad det gör
type
valfritt i settings
string
stringEtt 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 av normallearn
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"
}
Frågor & svar

Quiz

Flervalsfrågor och öppna frågor som poängsätts allteftersom spelarna svarar.

#
POST /api/public/v1/quiz 1 till 100 i items
Innehåll

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."
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/quiz/embed?p=-Nq8sample_activity_key",
  "message": "Quiz created successfully"
}

Brädspel

api_e_board_game

#
POST /api/public/v1/board-game 1 till 100 i items
Innehåll

api_c_board_game

Faller tillbaka på namnet “Board Game 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.
Inställningar den läser
FältTypVad det gör
number_of_tiles
valfritt i settings
number
numberHur många rutor spelbrädet har. Mellan 10 och 75.
Standard: 30
game_mode
valfritt i settings
string
stringOm spelarna kapplöper till mål eller samlar föremål på vägen.
En av race_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"
}

Labyrint

En labyrint att gå igenom: varje fråga är ett rum, och svaren är dörrarna.

#
POST /api/public/v1/maze Minst 1 i items
Innehåll

En array av flervalsfrågor eller sant/falskt-frågor, exakt den form quizendpointen tar. Öppna frågor avvisas: en dörr behöver ett svar skrivet på sig.

Faller tillbaka på namnet “Maze API”

Inställningar den läser
FältTypVad det gör
maze_width
valfritt i settings
string
stringHur rummen läggs ut: en kolumn, en kvadrat eller bredare.
En av narrownormalwide
Standard: "normal"
maze_corridors
valfritt i settings
string
stringHur mycket labyrint som ligger mellan två frågor.
En av shortnormallong
Standard: "normal"
maze_fog
valfritt i settings
string
stringVisa hela labyrinten, eller bara det spelaren har varit bredvid.
En av offnear
Standard: "off"
maze_wrong_door_pause
valfritt i settings
string
stringHur länge dörrarna förblir stängda efter en felaktig dörr.
En av noneshortlong
Standard: "short"
maze_walk_there
valfritt i settings
boolean
booleanErbjuder en knapp som flyttar spelpjäsen till nästa rum.
Standard: false
maze_seed
valfritt i settings
string
stringFrövärdet labyrinten genereras från. Samma frövärde och samma frågor ger samma labyrint; utelämnas det dras en ny.
Exempelanrop
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": "sv",
  "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"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/maze/embed?p=-Nq8sample_activity_key",
  "message": "Maze created successfully"
}

Jeopardy

Ett tävlingsbräde: kategorier längs toppen och ledtrådar under, som är värda mer ju längre ner de sitter.

#
POST /api/public/v1/jeopardy Minst 2 i items
Innehåll

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ältTypVad det gör
jeopardy_buzzer_mode
valfritt i settings
string
stringVem 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 av hostphonessolo
Standard: "host"
jeopardy_contestants
valfritt i settings
string
stringOm konsolen talar om lag eller om spelare.
En av teamsplayers
Standard: "teams"
jeopardy_value_step
valfritt i settings
number
numberVad 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
valfritt i settings
number
numberSekunder att svara när en ledtråd är öppen, upp till 300. 0 betyder ingen klocka.
Standard: 20
jeopardy_wrong_answer_costs
valfritt i settings
boolean
booleanEtt fel svar drar ledtrådens värde från poängen.
Standard: false
jeopardy_reveal_on_timeout
valfritt i settings
boolean
booleanBrädet visar själva svaret när klockan går ut.
Standard: false
jeopardy_require_question_form
valfritt i settings
boolean
booleanPå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
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/jeopardy/embed?p=-Nq8sample_activity_key",
  "message": "Jeopardy board created successfully"
}

Interaktiv video

api_e_interactive_video

#
POST /api/public/v1/interactive-video 1 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ältTypVad det gör
video_url
obligatoriskt i settings
string
stringVideon: en sida på YouTube, Vimeo eller Bunny Stream, eller en direktlänk till en mp4-, webm- eller mov-fil.
video_duration
valfritt i settings
number
numberVideons 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"
}
Meningar & tal

Kryptogram

Gör om en mening till en kod att knäcka, ett tecken i taget.

#
POST /api/public/v1/cryptogram Tar inga items
Innehåll

En mening, i fältet sentence. Den här endpointen tar inga items.

Faller tillbaka på namnet “Cryptogram API”

Bra att veta
  • Allt du skickar i items ignoreras — pusslet byggs enbart från sentence.
Inställningar den läser
FältTypVad det gör
sentence
obligatoriskt
string
stringMeningen som ska krypteras. Spelarna avkodar den tecken för tecken.
helpers
valfritt i settings
string
stringVilka tecken som avslöjas gratis som en ingång: inga, de vanligaste, vokalerna, eller de du listar själv.
En av nonemost_commonvowelscustom
Standard: "none"
character_list
valfritt i settings
string
stringAlfabetet chiffret byggs från. Lämnas det tomt väljer krypteringen sitt eget.
extra_letters
valfritt i settings
string
stringTecknen som avslöjas när helpers är "custom". Ignoreras för de andra hjälplägena.
hide_unused_characters
valfritt i settings
boolean
booleanUtelämnar tecken meningen aldrig använder från nyckeln.
Standard: false
Exempelanrop
POST cryptogram
curl -X POST https://puzzel.org/api/public/v1/cryptogram \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Cryptogram",
  "language": "sv",
  "sentence": "An apple a day keeps the doctor away",
  "settings": {
    "helpers": "vowels",
    "hide_unused_characters": false
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/cryptogram/embed?p=-Nq8sample_activity_key",
  "message": "Cryptogram created successfully"
}

Räknepussel

Gömmer en mening bakom uträkningar — lös uträkningen, avslöja bokstaven.

#
POST /api/public/v1/calculation Tar inga items
Innehåll

En mening, i fältet sentence. Den här endpointen tar inga items.

Faller tillbaka på namnet “Calculation Game API”

Bra att veta
  • Om begränsningarna är för snäva för att koda meningen svarar anropet 400 och ber dig lätta på dem, istället för att spara ett halvfärdigt pussel.
Inställningar den läser
FältTypVad det gör
sentence
obligatoriskt
string
stringMeningen spelarna avslöjar genom att lösa uträkningarna.
difficulty_level
valfritt i settings
number
numberDet högsta svar en uträkning får ha.
En av 20501001000
Standard: "100"
operators
valfritt i settings
string[]
string[]Vilka räknesätt som får förekomma. x är multiplikation, : är division.
En av +-x:
Standard: ["+", "-", "x", ":"]
max_operations
valfritt i settings
number
numberHur många räknesätt en uträkning får kedja ihop.
En av 123
Standard: 1
number_difficulty
valfritt i settings
number
numberBegränsar de enskilda talen inuti en uträkning. Allt från 5 till 1000.
Standard: 100
Exempelanrop
POST calculation
curl -X POST https://puzzel.org/api/public/v1/calculation \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Calculation Game",
  "language": "sv",
  "sentence": "Fruit salad for everyone",
  "settings": {
    "difficulty_level": "100",
    "operators": [
      "+",
      "-",
      "x",
      ":"
    ],
    "max_operations": 1,
    "number_difficulty": 100
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/calculation/embed?p=-Nq8sample_activity_key",
  "message": "Calculation game created successfully"
}

Sudoku

Genererar ett löst rutnät och tar sedan bort siffror igen.

#
POST /api/public/v1/sudoku Tar inga items
Innehåll

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ältTypVad det gör
size
valfritt i settings
string
stringStorleken 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 av 2x22x33x33x44x4
Standard: "3x3"
difficulty_level
valfritt i settings
string
stringHur många siffror som lämnas kvar i rutnätet att utgå från.
En av easynormalhard
Standard: "normal"
Exempelanrop
POST sudoku
curl -X POST https://puzzel.org/api/public/v1/sudoku \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sudoku",
  "language": "sv",
  "settings": {
    "size": "3x3",
    "difficulty_level": "normal"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/sudoku/embed?p=-Nq8sample_activity_key",
  "message": "Sudoku created successfully"
}

Fallen fras

api_e_fallen_phrase

#
POST /api/public/v1/fallen-phrase Tar inga items
Innehåll

api_c_fallen_phrase

Faller tillbaka på namnet “Fallen Phrase API”

Inställningar den läser
FältTypVad det gör
sentence
obligatoriskt
string
stringFrasen som ska döljas: ett citat, ett ordspråk, en nyckelmening. Högst 120 bokstäver och siffror.
columns
valfritt i settings
number
numberHur brett brädet är, från 8 till 18. Smalare ger fler bokstäver i varje kolumn och är svårare.
Standard: 14
helpers
valfritt i settings
string
stringVilka bokstäver som blir kvar i rutnätet som en ingång: inga, de vanligaste, vokalerna, eller de du listar själv.
En av nonemost_commonvowelscustom
Standard: "none"
extra_letters
valfritt i settings
string
stringBokstäverna som avslöjas när helpers är "custom".
Exempelanrop
POST fallen-phrase
curl -X POST https://puzzel.org/api/public/v1/fallen-phrase \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Fallen Phrase",
  "language": "sv",
  "sentence": "Don't count your chickens before they hatch.",
  "settings": {
    "columns": 12,
    "helpers": "custom",
    "extra_letters": "ky"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/fallen-phrase/embed?p=-Nq8sample_activity_key",
  "message": "Fallen phrase created successfully"
}

Gångertabell

api_e_times_tables

#
POST /api/public/v1/times-tables Tar inga items
Innehåll

api_c_times_tables

Faller tillbaka på namnet “Times Tables API”

Inställningar den läser
FältTypVad det gör
tables
valfritt i settings
number[]
number[]Tabellerna som ska övas. Utelämnas det blir det 1 till 10; en 11:a eller 12:a gör rutnätet 12 gånger 12.
En av 123456789101112
order
valfritt i settings
string
stringOm raderna och kolumnerna går i ordning eller är blandade.
En av ascendingshuffled
Standard: "ascending"
picture
valfritt i settings
string
stringBilden som rätta svar målar.
En av sailboatheartrockettreecatfishflowerhouse
Standard: "sailboat"
players_choose_tables
valfritt i settings
boolean
booleanLåter varje spelare välja vilka av tabellerna som ska övas.
Standard: false
fill_same_sums
valfritt i settings
boolean
booleanEtt rätt svar fyller i varje ruta med samma uträkning.
Standard: true
Exempelanrop
POST times-tables
curl -X POST https://puzzel.org/api/public/v1/times-tables \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Times Tables",
  "language": "sv",
  "settings": {
    "tables": [
      7,
      3,
      4
    ],
    "order": "shuffled",
    "seed": "k3x9q2ab",
    "picture": "rocket",
    "players_choose_tables": true,
    "fill_same_sums": false
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/times-tables/embed?p=-Nq8sample_activity_key",
  "message": "Times tables created successfully"
}

Lucktext

api_e_fill_in_the_gap

#
POST /api/public/v1/fill-in-the-gap 1 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"
}

Satsanalys

Meningar där spelarna märker upp orden: ordklasser, satsdelar eller egna etiketter.

#
POST /api/public/v1/deconstruct 1 till 50 i items
Innehåll

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ältTypVad det gör
categories
valfritt i 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"
    ]
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/deconstruct/embed?p=-Nq8sample_activity_key",
  "message": "Sentence analysis created successfully"
}

Logikpussel

api_e_logic_puzzle

#
POST /api/public/v1/logic-puzzle Minst 3 i items
Innehåll

api_c_logic_puzzle

Faller tillbaka på namnet “Logic Puzzle API”

Bra att veta
  • 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ältTypVad det gör
story
valfritt i settings
string
stringBakgrundshistorien som visas ovanför ledtrådarna.
difficulty
valfritt i settings
string
stringVilka sorters ledtrådar generatorn får använda.
En av easymediumhard
Standard: "easy"
hints
valfritt i settings
boolean
booleanErbjuder en knapp som visar nästa steg.
Standard: true
auto_cross
valfritt i settings
boolean
booleanAtt markera en matchning stryker över resten av dess rad och kolumn.
Standard: true
clue_mode
valfritt i settings
string
stringVem som skriver ledtrådarna spelarna ser: genererade ur tabellen, dina egna meningar i free_clues, eller inga.
En av generatedfreenone
Standard: "generated"
free_clues
valfritt i 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"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/logic-puzzle/embed?p=-Nq8sample_activity_key",
  "message": "Logic puzzle created successfully"
}

Skattjakt

api_e_scavenger_hunt

#
POST /api/public/v1/scavenger-hunt 1 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"
      ]
    }
  ]
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/scavenger-hunt/embed?p=-Nq8sample_activity_key",
  "message": "Scavenger hunt created successfully"
}

Rumsligt pussel

api_e_spatial_reasoning

#
POST /api/public/v1/spatial-reasoning 1 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.
Inställningar den läser
FältTypVad det gör
clue_mode
valfritt i settings
string
stringRegler som visas som bilder eller som meningar.
En av visualtext
Standard: "visual"
unique_object_picks
valfritt i settings
boolean
booleanVarje form får bara placeras en gång.
Standard: false
hide_color_picker
valfritt i settings
boolean
booleanSpelarna kan inte byta färg på formerna.
Standard: false
Exempelanrop
POST spatial-reasoning
curl -X POST https://puzzel.org/api/public/v1/spatial-reasoning \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Spatial Reasoning",
  "language": "sv",
  "items": [
    {
      "rules": [
        {
          "object": "square",
          "relation": "inside",
          "target": "circle"
        }
      ]
    },
    {
      "rules": [
        {
          "object": "triangle",
          "relation": "above",
          "target": "square"
        },
        {
          "object": "star",
          "relation": "left_of",
          "target": "triangle"
        }
      ]
    }
  ],
  "settings": {
    "clue_mode": "text",
    "unique_object_picks": true,
    "hide_color_picker": false
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/spatial-reasoning/embed?p=-Nq8sample_activity_key",
  "message": "Spatial reasoning activity created successfully"
}

Rebus

Meningar skrivna som bilder: spelarna läser bilderna och bokstavsändringarna tillbaka till ord.

#
POST /api/public/v1/rebus 1 till 30 i items
Innehåll

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ältTypVad det gör
rebus_commas
valfritt i settings
boolean
booleanRitar en utelämnad första eller sista bokstav som ett kommatecken bredvid bilden.
Standard: false
Exempelanrop
POST rebus
curl -X POST https://puzzel.org/api/public/v1/rebus \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Rebus",
  "language": "sv",
  "items": [
    {
      "sentence": "I sweep the room before the sunflower wilts.",
      "words": [
        {
          "word": "I",
          "parts": [
            {
              "text": "I",
              "kind": "sound",
              "emoji": "👁️"
            }
          ]
        },
        {
          "word": "room",
          "parts": [
            {
              "text": "room",
              "kind": "picture",
              "shows": "broom",
              "emoji": "🧹"
            }
          ]
        },
        {
          "word": "before",
          "parts": [
            {
              "text": "be",
              "kind": "picture",
              "shows": "bee",
              "emoji": "🐝"
            },
            {
              "text": "for",
              "kind": "sound",
              "glyph": "4"
            },
            {
              "text": "e",
              "kind": "letters"
            }
          ]
        },
        {
          "word": "the",
          "position": 6,
          "parts": [
            {
              "text": "the",
              "kind": "picture",
              "shows": "tree",
              "emoji": "🌳"
            }
          ]
        },
        {
          "word": "sunflower",
          "parts": [
            {
              "text": "sun",
              "kind": "picture",
              "shows": "sun",
              "emoji": "☀️"
            },
            {
              "text": "flower",
              "kind": "picture",
              "shows": "flower",
              "emoji": "🌸"
            }
          ]
        }
      ]
    }
  ],
  "settings": {
    "rebus_commas": true
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/rebus/embed?p=-Nq8sample_activity_key",
  "message": "Rebus created successfully"
}
Bilder

Pussel

Delar en bild i bitar som dras ihop igen.

#
POST /api/public/v1/jigsaw Tar inga items
Innehåll

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ältTypVad det gör
image
obligatoriskt
string
stringAbsolut URL till bilden som ska delas upp i bitar. Skickas på toppnivå, inte inuti settings.
Exempelanrop
POST jigsaw
curl -X POST https://puzzel.org/api/public/v1/jigsaw \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Jigsaw Game",
  "language": "sv",
  "image": "https://example.com/orchard.jpg"
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/jigsaw/embed?p=-Nq8sample_activity_key",
  "message": "Jigsaw game created successfully"
}

Skjutpussel

Blandar en bild till brickor som glider på plats.

#
POST /api/public/v1/slidingpuzzle Tar inga items
Innehåll

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ältTypVad det gör
image
obligatoriskt i settings
string
stringAbsolut URL till bilden som ska blandas. Till skillnad från pusslets endpoint ligger den här inuti settings.
Exempelanrop
POST slidingpuzzle
curl -X POST https://puzzel.org/api/public/v1/slidingpuzzle \
  -H "Content-Type: application/json" \
  -d '{
  "account_api_key": "YOUR_API_KEY",
  "email": "you@example.com",
  "title": "Sliding Puzzle",
  "language": "sv",
  "settings": {
    "image": "https://example.com/orchard.jpg"
  }
}'
Lyckades
{
  "success": true,
  "id": "-Nq8sample_activity_key",
  "url": "https://puzzel.org/en/slidingpuzzle/embed?p=-Nq8sample_activity_key",
  "message": "Sliding puzzle created successfully"
}

Något som inte funkar som det ska?

Skicka anropet du testade och felet du fick tillbaka, så får du ett riktigt svar från personen som skrev endpointen.

E-posta support