In most of the cases, the reason behind receiving fewer fields than those expected in your API responses has to do with the endpoint URL used.
If the msgtype parameter is not defined and included in the URL, the response is set to simple by default.
For example, a Vessel Positions API call using the following URL.
would only return the fields contained in the simple response (MMSI, IMO, SHIP_ID, LAT, LON, SPEED, HEADING, COURSE, STATUS, TIMESTAMP, DSRC, UTC_SECONDS). The fields of the extended response would have been omitted (SHIPNAME, SHIPTYPE, CALLSIGN, FLAG, LENGTH, WIDTH, GRT, DWT, YEAR_BUILT, TYPE_NAME and AIS_TYPE_SUMMARY).
So, if you get fewer fields, make sure that the endpoint URL you use for API calling includes the msgtype parameter.