Required fields are denoted with an *. Objects with ^ are optional, however if provided, they have required fields under them - marked with an *