private static ArrayList GetAvailableAreaCodes(FlowrouteNumbersAndMessagingClient client) { ArrayList return_list = new ArrayList(); int? limit = 100; int? offset = 0; double?maxSetupCost = 10.00; // User the Numbers Controller from our Client NumbersController numbers = client.Numbers; do { Console.WriteLine("Offset is {0}", offset); dynamic areacode_data = numbers.ListAvailableAreaCodes(limit, offset, maxSetupCost); Console.WriteLine(areacode_data); foreach (var item in areacode_data.data) { Console.WriteLine("---------------------------\nAvailable Area Code:\n"); Console.WriteLine("Attributes:{0}\nId:{1}\nLinks:{2}\nType:{3}\n", item.attributes, item.id, item.links, item.type); return_list.Add((string)item.id); } // See if there is more data to process var links = areacode_data.links; if (links.next != null) { // more data to pull offset += limit; } else { break; // no more data } } while (true); return(return_list); }