# Part assembly import / update specifications Names of fields listed here are the exact case and spelling required to be recognized by AyaNova for [importing / updating](adm-import.md). Any field in the import file that is not listed on this page will be removed before sending to the server for import. ## Required fields - Name ## Key field used to match to existing records - Name ## Fields directly importable / updateable - Name (import only) - Active - Notes - Wiki - Tags - Items - Quantity ## Linked object fields The following linked objects are importable / updateable: - Part via "PartNameViz" field which must contain the name of an existing Part ## JSON file format The .json file must contain an **array** of one or more objects. ```JSON [ { "Name": "Primary 7242", "Active": true, "Notes": "Corrupti et animi non soluta.", "Wiki": null, "Tags": [ "orange", "silver", "zone3", "zone5" ], "Items": [ { "PartNameViz": "097091", "Quantity": 1.00000 }, { "PartNameViz": "874579", "Quantity": 3.00000 }, { "PartNameViz": "375486", "Quantity": 1.00000 }, { "PartNameViz": "983612", "Quantity": 15.00000 }, { "PartNameViz": "198660", "Quantity": 1.00000 } ] }, { "Name": "Lower Arm 5369", "Active": true, "Notes": "Voluptatum et molestiae magnam at iste similique iusto modi ea.", "Wiki": null, "Tags": [ "orange", "zebra", "zone1" ], "Items": [ { "PartNameViz": "734629", "Quantity": 1.00000 }, { "PartNameViz": "048902", "Quantity": 1.00000 } ] }, { "Name": "Board 9995", "Active": true, "Notes": "Iure eius ut id consequatur omnis aut ut.", "Wiki": null, "Tags": [ "gold", "mauve", "violet", "zone8" ], "Items": [ { "PartNameViz": "335219", "Quantity": 1.00000 }, { "PartNameViz": "048902", "Quantity": 1.00000 }, { "PartNameViz": "417318", "Quantity": 1.00000 } ] } ] ``` ## CSV file format The first row of the .csv file must contain column headers that match the field names listed above. CSV doesn't cleanly map on to structured elements with sub collections well so the Items column here which contains the part and quantity items for this assembly has a special format we've adopted: The Items column **must** be: - surrounded in double "quotes" - contain the parts and their quantities in pairs separated by commas - each pair must be split by the pipe character | - each pair must contain the part name of an existing part in AyaNova as the *first* part of the pair - each pair must contain the quantity of that part as the second part of the pair ``` Name,Active,Notes,Wiki,Tags,Items Primary 7242,true,Corrupti et animi non soluta.,,"orange,silver,zone3,zone5","097091|1.00000,874579|3.00000,375486|1.00000,983612|15.00000" Lower Arm 5369,true,Voluptatum et molestiae magnam at iste similique iusto modi ea.,,"orange,zebra,zone1","734629|1.00000,048902|1.00000" Board 9995,true,Iure eius ut id consequatur omnis aut ut.,,"gold,mauve,violet,zone8","335219|1.00000,048902|1.00000,417318|1.00000" ```