We reserve the right to log and verify your API calls and to contact you if we detect abuse on your part. For example:
	
		- the requests takes too long to return 
- the requests return too much data at a time 
- The requests are too frequent 
		We strongly suggest using the date filter parameters to return only the data that is relevant.
	
Public Class Sample
	
	Public Sub CodeSample_saveexpense()
		Dim params = New NameValueCollection From {
					{"fct", "saveexpense"},
					{"guid", "###"},
					{"expenseid", "NULL"},
					{"projectid", "NULL"},
					{"summary", "NULL"}
		}
		Dim jsonText = apiCall(params)
		
		Dim jsonObj = Newtonsoft.Json.Linq.JObject.Parse(jsonText)
		Dim success = jsonObj.Item("status").ToString <> "fail"
		Dim jResults = DirectCast(jsonObj.Item("results"), Newtonsoft.Json.Linq.JArray)
		
	End Sub
	    
	Function apiCall(_param As NameValueCollection) As String
		Dim wc As New System.Net.WebClient With {
			.Encoding = System.Text.Encoding.UTF8
		}
		
		Net.ServicePointManager.SecurityProtocol = CType(Net.SecurityProtocolType.Tls12, Net.SecurityProtocolType)
		_param.Item("format") = "iso8601" 
		Dim responseBytes = wc.UploadValues("https://api.aceproject.com", "POST", _param)
		Return System.Text.Encoding.UTF8.GetString(responseBytes)
	End Function
End Class
		
				
			
				
					| Guid | String | False |  |  |  |  |  | True | Unique identifier for the authenticated user. The GUID has an expiry date and time which is managed automatically by the API. | 
			
				
					| ExpenseId | Integer | True |  |  | NULL | False | True |  | Auto-generated unique expense identifier. | 
			
				
					| ProjectId | Integer | True |  |  | NULL | True | False |  | Auto-generated unique identifier of a project. | 
			
				
					| TaskId | Integer | True |  |  | NULL |  |  | False | Auto-generated unique identifier of a task. | 
			
				
					| Summary | String | True |  |  | NULL | True | False |  | Expense summary. | 
			
				
					| ExpenseTypeId | Integer | True |  |  | NULL |  |  | True | Auto-generated unique identifier of an expense type. | 
			
				
					| ExpenseDate | AceProject.Service.API.CustomDatatype.Date | True |  |  | NULL |  |  | True | Date the expense was made. | 
			
				
					| Amount | Decimal | True |  |  | NULL |  |  | True | The amount of the expense. | 
			
				
					| CodeOfAccount | String | True |  |  | NULL |  |  | False | Field used to store user-defined information about the expense. | 
			
				
					| Comments | String | True |  |  | NULL |  |  | False | Any user-defined comment related to the expense entry. | 
			
				
					| DocAdd | String | True |  |  | NULL |  |  | True |  | 
			
				
					| Format | String | False |  | RS: RecordSet DS: DataSet
 JSON: JSON
 | DS |  |  | True | Return Format |