{"note":"OpenAPI conversion -- returning structured metadata","name":"jokes-one","description":"Jokes One API","version":"1.1","base_url":"https://api.jokes.one","endpoints":12,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Jokes One API\n@base https://api.jokes.one\n@version 1.1\n@auth ApiKey X-JokesOne-Api-Secret in header\n@endpoints 12\n@toc jod(2), joke(10)\n\n@group jod\n@endpoint GET /jod\n@desc Gets `Joke of the Day`.\n@optional {category: any # JOD Category}\n@returns(200) 200  response\n\n@endpoint GET /jod/categories\n@desc Gets a list of `Joke of the Day` Categories.\n@returns(200) 200  response\n\n@endgroup\n\n@group joke\n@endpoint PUT /joke\n@desc Add a new joke to your private collection.\n@required {title: any # Joke Title, text: any # Joke Text}\n@optional {author: any # Joke Author, tags: any # Comma Separated tags}\n@returns(200) 200  response\n@errors {401: 401  response}\n\n@endpoint PATCH /joke\n@desc Update a joke\n@required {id: any # Joke ID}\n@optional {title: any # title, text: any # text, author: any # Joke Author, tags: any # Comma Separated tags}\n@returns(200) 200  response\n@errors {401: 401  response}\n\n@endpoint GET /joke\n@desc Gets a `Joke` with a given `id`.\n@optional {id: any # Joke ID}\n@returns(200) 200  response\n@errors {401: 401  response}\n\n@endpoint DELETE /joke\n@desc Delete a joke. The user needs to be the owner of the joke to be able to delete it.\n@required {id: any # Joke ID}\n@returns(200) 200  response\n@errors {401: 401  response, 404: 404  response}\n\n@endpoint GET /joke/random\n@desc Gets a `Random Joke`. When you are in a hurry this is what you call to get a random famous joke.\n@returns(200) 200  response\n@errors {401: 401  response}\n\n@endpoint GET /joke/search\n@desc Search for a `Joke` in Jokes One platform. Optional `category` , `author`, `minlength`, `maxlength` params determines the filters applied while searching for the joke.\n@optional {category: any # Joke Category, query: any # keyword to search for in the joke, minlength: any # Joke minimum Length, maxlength: any # Joke maximum Length, author: any # Joke Author, private: any # Should search private collection? Default searches public collection.}\n@returns(200) 200  response\n@errors {401: 401  response}\n\n@endpoint GET /joke/categories/search\n@desc Gets a list of `Joke` Categories, based on a query term.\n@required {query: any # Search Query}\n@optional {start: any # Response is paged. This parameter controls where response starts the listing at}\n@returns(200) 200  response\n\n@endpoint GET /joke/list\n@desc Get the list of jokes in your private collection.\n@optional {start: any # Response is paged. This parameter controls where response starts the listing at}\n@returns(200) 200  response\n@errors {401: 401  response}\n\n@endpoint POST /joke/tags/add\n@desc Add a tag to a given Joke.\n@required {id: any # Joke ID, tags: any # Comma Separated tags}\n@returns(200) 200  response\n@errors {401: 401  response, 404: 404  response}\n\n@endpoint POST /joke/tags/remove\n@desc Remove a tag from a given joke.\n@required {id: any # Joke ID, tags: any # Comma Separated tags}\n@returns(200) 200  response\n@errors {401: 401  response, 404: 404  response}\n\n@endgroup\n\n@end\n"}