(
path="/{game_route}/songs/filter",
summary="Returns a list of songs",
description="Returns a list of songs",
operationId="songsFilterRoute",
tags={"Songs"},
@OA\Parameter(
ref="#/components/parameters/song_data_type"
),
@OA\Parameter(
ref="#/components/parameters/genre"
),
@OA\Parameter(
ref="#/components/parameters/fullband"
),
@OA\Parameter(
ref="#/components/parameters/instrument"
),
@OA\Parameter(
ref="#/components/parameters/tierinstrument"
),
@OA\Parameter(
ref="#/components/parameters/tier"
),
@OA\Parameter(
ref="#/components/parameters/reductions"
),
@OA\Parameter(
ref="#/components/parameters/decade"
),
@OA\Parameter(
ref="#/components/parameters/vocals"
),
@OA\Parameter(
ref="#/components/parameters/source"
),
@OA\Parameter(
ref="#/components/parameters/audio"
),
@OA\Parameter(
ref="#/components/parameters/rating"
),
@OA\Parameter(
ref="#/components/parameters/gender"
),
@OA\Parameter(
ref="#/components/parameters/game_route"
),
@OA\Response(
response=200,
description="OK",
@OA\JsonContent(
type="object",
@OA\Property(
property="status",
ref="#/components/schemas/RGWRequestStatus"
),
@OA\Property(
property="data",
type="object",
@OA\Property(
property="authors",
ref="#/components/schemas/Author"
),
@OA\Property(
property="authors_info",
type="object",
@OA\Property(
property="total_published",
type="int",
description="Number of authors with at least one file available to download. Use the /authors/published route to restrict the selection."
)
),
@OA\Property(
property="pagination",
ref="#/components/schemas/RGWResponsePagination"
),
@OA\Property(
property="records",
ref="#/components/schemas/RGWResponseCount"
)
),
@OA\Examples(example="Success", value={"status": "success","data": {"records": {"total_available": 7538,"total_filtered": 7538,"returned": 20},"pagination": {"start": 0,"records": "20","page": 1},"artists": {{"id": "10-year-old-nolan","name": "10 Year Old Nolan","songs": 1},{"id": "10-years","name": "10 Years","songs": 5},{"id": "100-gecs","name": "100 gecs","songs": 14},"..."}}}, summary="List of artists"),
@OA\Examples(example="Error, no artist found", value={"status": "error", "error": {"message": "No artist found" }}, summary="No artist found"),
@OA\Examples(example="Error, invalid parameter", value={"status": "error", "error": {"message": "Parameter 'text' is not accepted at this path" }}, summary="Invalid parameter sent")
)
)
)