Sorry it took a while for the post to appear but meanwhile we've solved this:
Here is the explanation:
When we make calls to that endpoint we use a set of filter parameters to make the API only return the fields that we want (we try to be good API citizens and be as efficient as we can be making API calls).
With the older FortiOS API, the interface name is part of the JSON structure, so we didn't specify we wanted 'interface' back as part of the response, eg:
We send this:
"resource": "/api/v2/monitor/virtual-wan/members?format=link|rx_bandwidth|rx_bytes|state_changed|tx_bandwidth|tx_bytes",
..and we got back this:
},
"VPN2": {
"link": "up",
"rx_bandwidth": 5760,
"rx_bytes": 540113826,
"session": 4,
"state_changed": 1753254017,
"tx_bandwidth": 20668,
"tx_bytes": 1362208182
},
With the newer FortiOS version, the response has changed and the interface name has moved to the body of the response, because we weren't explicitly selecting 'interface' in our filter, we didn't get it back:
{
"link": "up",
"rx_bandwidth": 8507,
"rx_bytes": 10329308034,
"state_changed": 1752487770,
"tx_bandwidth": 3465,
"tx_bytes": 4164459580
},
...specify 'interface' in the filter, and...:
{
"interface": "WAN1",
"link": "up",
"rx_bandwidth": 9394,
"rx_bytes": 10329379660,
"state_changed": 1752487770,
"tx_bandwidth": 3767,
"tx_bytes": 4164494145
},
What a pain...