{"openapi":"3.1.0","info":{"title":"Jokes API","version":"1.0.0","description":"A clean, family-friendly jokes API. Fetch a random joke — or several at once — as a single-line one-liner or a two-part setup-and-delivery, filtered by category (Programming, Misc, Pun, Spooky, Christmas); search for jokes containing a specific word; and list the available categories. Safe-mode is always enforced and the offensive \"Dark\" category is excluded, so every joke is workplace- and family-safe. Ideal for chat and Discord bots, websites and apps that want a touch of humour, loading screens, and developer tools. Built on JokeAPI.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/jokes-api","description":"oanor gateway"}],"tags":[{"name":"Jokes"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/categories":{"get":{"operationId":"get_v1_categories","tags":["Jokes"],"summary":"Available categories","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Only family-friendly categories are available; safe-mode is always on, and the offensive 'Dark' category is excluded.","types":["single","twopart"],"excluded":["Dark"],"categories":["Programming","Misc","Pun","Spooky","Christmas"]},"meta":{"timestamp":"2026-05-31T15:38:05.627Z","request_id":"78bf7570-6265-40be-9d1a-b64107545085"},"status":"ok","message":"Categories retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/random":{"get":{"operationId":"get_v1_random","tags":["Jokes"],"summary":"A random joke","description":"","parameters":[{"name":"category","in":"query","required":false,"description":"Programming | Misc | Pun | Spooky | Christmas (default any clean)","schema":{"type":"string"},"example":"Programming"},{"name":"type","in":"query","required":false,"description":"single | twopart","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"How many jokes (1-10, default 1)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"joke":{"id":293,"type":"twopart","setup":"why do python programmers wear glasses?","category":"Programming","delivery":"Because they can't C."}},"meta":{"timestamp":"2026-05-31T15:38:05.767Z","request_id":"64194971-4efa-46b4-b0cb-1a39d0e4d1fb"},"status":"ok","message":"Joke retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Jokes"],"summary":"Jokes containing a word","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Word the joke must contain","schema":{"type":"string"},"example":"computer"},{"name":"category","in":"query","required":false,"description":"Restrict to a category","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"Max results (1-10, default 5)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"jokes":[{"id":210,"type":"twopart","setup":"What are bits?","category":"Programming","delivery":"Tiny things left when you drop your computer down the stairs."}],"query":"computer"},"meta":{"timestamp":"2026-05-31T15:38:05.881Z","request_id":"c965ff66-d808-4951-b989-ba9cf7d95966"},"status":"ok","message":"Jokes searched","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Source & options","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Clean, family-friendly jokes. /v1/random = a random joke (or several via amount) — filter by category and type (single/twopart); /v1/search = jokes containing a word; /v1/categories = the available categories. Safe-mode is always enforced and the offensive Dark category is excluded.","source":"JokeAPI (v2.jokeapi.dev) — safe-mode, clean categories only","endpoints":["/v1/random","/v1/search","/v1/categories","/v1/meta"],"categories":["Programming","Misc","Pun","Spooky","Christmas"]},"meta":{"timestamp":"2026-05-31T15:38:05.962Z","request_id":"abf5e8dc-02c3-4ef4-9784-93566c22a572"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":5200,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":275,"monthly_call_quota":80000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":845,"monthly_call_quota":420000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":2245,"monthly_call_quota":2080000,"rps_limit":60,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/jokes-api"}