He estado acostumbrado a tener el número de versión en la URL en sí (/v1/). Personalmente, creo que este es un enfoque mucho más limpio: de esta manera, el usuario final (o desarrollador) no necesita manejar los encabezados HTTP, y simplemente puede modificar la API/llamada REST para acceder a diferentes versiones de la API según sea necesario.
Creo que también es posible que algunas de las API HTTP en diferentes idiomas no tengan soporte completo para los encabezados HTTP, por lo que siempre hace que la API esté más fácilmente disponible para el usuario final. Reescribir la URL es la forma más simple, y debería funcionar con cualquier cosa que admita HTTP.
Finalmente, permitir que la versión API se especifique utilizando la URL permite pruebas simples usando un navegador web. Si incorpora versiones en un encabezado HTTP, el desarrollador se ve obligado a usar un lenguaje de programación para realizar pruebas.