The API v2 vehiclesByRoutes call is returning nothing for any Commuter Rail route, which it almost always does when there are no predictions. For example (using the open development key, not my own):
http://realtime.mbta.com/developer/api/v2/vehiclesByRoutes?api_key=wX9NwuHnZU2ToO7GmGR9uw&format=json&routes=CR-Fairmount,CR-Fitchburg,CR-Franklin,CR-Greenbush,CR-Haverhill,CR-Kingston,CR-Lowell,CR-Middleborough,CR-Needham,CR-Newburyport,CR-Providence,CR-Worcester
I've raised this issue previously: I feel strongly that the vehiclesByRoute / vehiclesByRoutes call should return info regardless of a prediction being available or not. It hasn't been that way though.
Another reminder of my mash-up of the "original" CR feeds, plus API v2, plus GTFS, plus departure boards:
If the API v2 was functioning the way it should, the column "Found in API v2 vehiclesByRoutes?" would always have data. The "original" data feed is the source of all the columns except the ones that are "Found in .... ?"
The bottom line is that until this gets fixed the API v2 is useless for CR unless there are predictions, which are often incomplete or (like now) offline.