private async Task <FileInfo> GetContainerDataFile(int recordId, string fieldName, int repetitionNumber) { int targetRecordId = recordId; // make sure this record has some data in the container field targeted! string containerField = fieldName; if (repetitionNumber > 0) { // append the repetition number, repeating fields look like this in the returned data // container_field_repeat(3)": "https://..." containerField = $"{containerField}({repetitionNumber})"; } // what layout has a container field on it? fms.SetLayout("FRUIT_utility"); fms.SetDownloadFolder(@"C:\Users\Public"); Login(); // find the record var findMyRecord = fms.FindRequest(targetRecordId); // execute the find var myData = await findMyRecord.Execute(); // work with the result returned to get the URL of the container data FMData result = myData.data; FMRecordSet foundset = result.foundSet; // there is only one record FMRecord row = foundset.records.First(); // get the URL from the container field string url = row.fieldsAndData[containerField]; // get the container data to a file on disk FileInfo containerDataFile = await fms.DownloadFileFromContainerField(url, "test_" + RandomString(5, true) + ".jpg"); Logout(); return(containerDataFile); }