{"note":"OpenAPI conversion -- returning structured metadata","name":"asuarez-dev-searchly","description":"SearchLy API v1","version":"1.0","base_url":"https://searchly.asuarez.dev/api/v1","endpoints":3,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api SearchLy API v1\n@base https://searchly.asuarez.dev/api/v1\n@version 1.0\n@endpoints 3\n@toc similarity(2), song(1)\n\n@group similarity\n@endpoint GET /similarity/by_song\n@desc API endpoint to search similarity using a song identifier\n@required {song_id: int # Song identifier.}\n@returns(200) {error: bool, message: str, response: map{similarity_list: [map]}} # Standard SearchLy API v1 JSON response. You should check the `error` attribute to determine if there was an error.\n\n@endpoint POST /similarity/by_content\n@desc API endpoint to search similarity using content\n@optional {content: str # Content for searching similarity.}\n@returns(200) {error: bool, message: str, response: map{similarity_list: [map]}} # Standard SearchLy API v1 JSON response. You should check the `error` attribute to determine if there was an error.\n\n@endgroup\n\n@group song\n@endpoint GET /song/search\n@desc API endpoint to search songs from the database given a query\n@required {query: str # Query.}\n@returns(200) {error: bool, message: str, response: map{results: [map]}} # Standard SearchLy API v1 JSON response. You should check the `error` attribute to determine if there was an error.\n\n@endgroup\n\n@end\n"}