# List available songs in catalogue Returns a paginated list of songs from the Audicin catalogue that are visible to the authenticated tenant. Supports filtering by title and genre. Song availability does not imply licensing or streaming rights. Endpoint: GET /tenants/songs Version: 1.0.0 Security: api-key ## Query parameters: - `page` (integer) - `size` (integer) - `title` (string) - `mainGenre` (string) - `secondaryGenre` (string) ## Response 200 fields (application/json): - `content` (array) Page content - `content.id` (string) Artist ULID - `content.firstName` (string) First name - `content.lastName` (string) Last name - `content.description` (string) Artist bio/description - `content.avatar` (object) Media asset (audio, image) metadata and URL - `content.avatar.id` (string) Media ULID - `content.avatar.required` (boolean) Whether this media is required - `content.avatar.multiple` (boolean) Whether multiple files are allowed - `content.avatar.url` (string) Public or presigned URL to access the media - `content.avatar.allowedType` (string) Allowed MIME type category Enum: "IMAGES", "FILES", "VIDEOS", "AUDIOS" - `number` (integer) - `size` (integer) Example: 10 - `totalElements` (integer) Example: 42 - `totalPages` (integer) Example: 5 ## Response 400 fields (application/json): - `errorCode` (string) - `error` (string) e.g. Validation Failed - `title` (string) e.g. Invalid Parameter - `message` (string) - `details` (string,null) - `validationErrors` (object) ## Response 402 fields (application/json): - `errorCode` (string) - `title` (string) - `message` (string) - `ref` (string,null) - `validationErrors` (object) ## Response 404 fields (application/json): - `errorCode` (string) - `title` (string) - `message` (string) - `ref` (string,null) - `validationErrors` (object) ## Response 500 fields (application/json): - `errorCode` (string) - `title` (string) - `message` (string) - `ref` (string,null) - `validationErrors` (object)