Kobold As A Service
A procedural generation HTTP API that conjures whimsical Kobold RPG character sheets on demand. Every name, origin, and backstory is woven from Polygen grammars — fetch a fresh kobold with a single request.
Call the API
Send a POST
request to /api/generate-kobold
and get a complete character sheet back. Pick your language:
Rate limit: 1 request per second per IP. Excess requests receive a 429 Too Many Requests response.
Need to exceed the rate limit? Add an
X-Bypass-Key
header with a pre-shared secret configured on the server to skip throttling entirely.
Contact the operator to request a key.
use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('https://kaas.procionegobbo.it/api/generate-kobold', [
'json' => ['language' => 'en'],
]);
$kobold = json_decode((string) $response->getBody(), true);
const response = await fetch('https://kaas.procionegobbo.it/api/generate-kobold', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ language: 'en' }),
});
const kobold = await response.json();
package main
import (
"bytes"
"net/http"
)
func main() {
body := bytes.NewBufferString(`{"language":"en"}`)
http.Post("https://kaas.procionegobbo.it/api/generate-kobold", "application/json", body)
}
import requests
response = requests.post(
"https://kaas.procionegobbo.it/api/generate-kobold",
json={"language": "en"},
)
kobold = response.json()
curl -X POST https://kaas.procionegobbo.it/api/generate-kobold \
-H "Content-Type: application/json" \
-d '{"language": "en"}'
Sample Output
Every field is generated live by the Polygen grammar engine and changes on each page load.
Currently available languages: English (en) and Italian (it).
{
"KoboldName": "Rassyrk",
"KoboldSurname": "Von Fufeche",
"KoboldOrigin": "The swamp of Zlomzlomyono",
"KoboldColor": "purple and crystal of rock",
"SpecialTrait": "believes to speak with the trees",
"KoboldKinship": "second cousin in-law on mother's side of the great-great-grandfather of Krubal",
"KoboldDish": "cat hairless toast Skrudo style",
"KoboldStory": "Rassyrk fell from the sky in a place known as The swamp of Zlomzlomyono, just hatched its scales were of a attractive brown in a few days became purple and crystal of rock. Its clan lived with breeding ofthe gods infamous of evil ofthe the beach of Yorforporu. A competition of belching broke out between Rassyrk's clan and the watermelons ofthe the land of Bashzorproti. Hostilities continued until young Rassyrk, was bribed with cat hairless toast Skrudo style by its son but managed to burn the last ofthe wise men ofthe the volcanic complex of Trogforwoso. Rassyrk's clan came out of it scattered, even though no paladin of Mordiggian survived. Having surpassed adulthood was convinced to flee and become a apprentice farmer even if secretly it would have wanted to eat a carpenter any.",
"KoboldJob": "farmer"
}
{
"KoboldName": "Kandru",
"KoboldSurname": "",
"KoboldOrigin": "L isola di Zlomblashtoro",
"KoboldColor": "oro",
"SpecialTrait": "ha una doppia coda",
"KoboldKinship": "zio del cognato della figlia di Ukrabal",
"KoboldDish": "brodo di gatto selvatico con paprika e alloro",
"KoboldStory": "l'uovo di Kandru venne abbandonato in un luogo conosciuto come L isola di Zlomblashtoro, le sue scaglie erano di un putrido oro. Il suo clan viveva con la cromatura dei vampiri dell'la penisola di Trogwoscaru. Una gara di rutti scoppiò tra il clan di Kandru e gli ippocampi dello la palude di Wosyon. Le ostilità continuarono fino a quando il giovane Kandru, fu aiutato da suo un vicino di casa e riuscì a sconfiggere l'ultimo degli hobbit. Il clan di Kandru ne uscì sazio, anche se nessun cuoco se ne lamentò. Superata la maggiore età decise di seguire l'esempio del cognato della prozia di suo secondo cugino acquisito di terzo grado da parte di madre per diventare un locandiere.",
"KoboldJob": "locandiere"
}
Standing on the shoulders of Kobolds
KAAS is powered by polygen-php, a PHP port of the original Polygen by Ulisse Spanò. The project was inspired by the tabletop adventures and podcasts of FumbleGDR — they don't ship a character generator, but their stories sparked the idea for this one.
Ecosystem
Explore the tools and community behind KAAS.