The PHP part is unnecessary there, any code base that's more than a hobbyist project will have these kind of issues.
It's mostly a legacy untyped backend thing.
I'm not sure why we are nit-picking that but untyped doesn't mean legacy, and having fields that should be identical be called differently or missing across API routes happens to tiny startups, side projects and big corporates.
I'm not the one nit picking
Last.fm is an old php app
It's a joke
Go touch grass
That not php fault. Maybe old ass versions of php or shot implementations. But strong typing is possible in modern php