When creating a new DVIRLog for an existing device, we must first look up its previous DVIRLog. If the previous DVIRLog on this device has not been repaired, we may need to first repair the outstanding defects. Some defects can be carried forward from one inspection to another, depending on jurisdiction.
Here are some API runner examples on how to interact with the new DVIR objects, note that the deviceId, defectId, userId and so on will be different depending on which database you are using. The properties which are in bold, are the key requirements.
Below is a typical example of a DVIRLog object:

Most of the object inside DVIRLog are minified, but you can use the id provided to get the full object.
In the above example, defectList has an id with value “b278A”, we can use this id to get the full defectList which used to create this DVIRLog.
Now we have the entire defectList which contains Parts and the Defect under each Part

If we expand the children property in this defectList we will have a list of Parts with their name, id and other properties.

If we expand even further into Parts, we can find a list of Defect objects under each Part with their own id. In the example below the Part is “Brakes (Parking)” with id “b278B”, and the Defect under that Parts is “slow to release” with id “b278C”

This Defect id “b278C” is also the Defect id we use inside the DVIRDefect object

So the best way to understand the meaning of each Defect in DVIRDefect is to first retrieve the defectList used to create the DVIRLog, and then look up the Defect id in this list to understand which Part the Defect belongs to.

The number of Defects under each Part are finite so if a user couldn't find the appropriate Defect inside one Part, they can choose “Other” as the Defect (this can be disabled for the defect list in MyGeotab)

When a user chooses “Other”, we use the Parts id to represent the Defect.

Note that the Defect id “b278B” in the DVIRLog on the left is the id for the Part “Brakes (Parking)”, not a Defect id under this Part such as “b278C” which is “slow to release”
Note:
If “Other” defect is selected, it is required to add a remark to describe the defect. So DVIRDefect with Defect id being a Part id requires at least one DefectRemark.