diff --git a/Conductor/Api/HumanTaskResourceApi.cs b/Conductor/Api/HumanTaskResourceApi.cs
new file mode 100644
index 0000000..d7249ad
--- /dev/null
+++ b/Conductor/Api/HumanTaskResourceApi.cs
@@ -0,0 +1,2830 @@
+using Conductor.Client;
+using Conductor.Client.Models;
+using conductor_csharp.Api;
+using RestSharp;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using ThreadTask = System.Threading.Tasks;
+
+namespace Conductor.Api
+{
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public partial class HumanTaskResourceApi : IHumanTaskResourceApi
+ {
+ private ExceptionFactory _exceptionFactory = (name, response) => null;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ public HumanTaskResourceApi(String basePath)
+ {
+ this.Configuration = new Configuration { BasePath = basePath };
+
+ ExceptionFactory = Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ ///
+ ///
+ public HumanTaskResourceApi()
+ {
+ this.Configuration = Configuration.Default;
+
+ ExceptionFactory = Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// using Configuration object
+ ///
+ /// An instance of Configuration
+ ///
+ public HumanTaskResourceApi(Configuration configuration = null)
+ {
+ if (configuration == null) // use the default one in Configuration
+ this.Configuration = Configuration.Default;
+ else
+ this.Configuration = configuration;
+
+ ExceptionFactory = Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Gets the base path of the API client.
+ ///
+ /// The base path
+ public String GetBasePath()
+ {
+ return this.Configuration.ApiClient.RestClient.Options.BaseUrl.ToString();
+ }
+
+ ///
+ /// Gets or sets the configuration object
+ ///
+ /// An instance of the Configuration
+ public Configuration Configuration { get; set; }
+
+ ///
+ /// Provides a factory method hook for the creation of exceptions.
+ ///
+ public ExceptionFactory ExceptionFactory
+ {
+ get
+ {
+ if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
+ {
+ throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
+ }
+ return _exceptionFactory;
+ }
+ set { _exceptionFactory = value; }
+ }
+
+ ///
+ /// Claim a task to an external user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ ///
+ /// (optional, default to false)
+ /// HumanTaskEntry
+ public HumanTaskEntry AssignAndClaim(string taskId, string userId, bool? overrideAssignment = null)
+ {
+ ApiResponse localVarResponse = AssignAndClaimWithHttpInfo(taskId, userId, overrideAssignment);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Claim a task to an external user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ ///
+ /// (optional, default to false)
+ /// ApiResponse of HumanTaskEntry
+ public ApiResponse AssignAndClaimWithHttpInfo(string taskId, string userId, bool? overrideAssignment = null)
+ {
+ // verify the required parameter 'taskId' is set
+ if (taskId == null)
+ throw new ApiException(400, "Missing required parameter 'taskId' when calling HumanTaskApi->AssignAndClaim");
+ // verify the required parameter 'userId' is set
+ if (userId == null)
+ throw new ApiException(400, "Missing required parameter 'userId' when calling HumanTaskApi->AssignAndClaim");
+
+ var localVarPath = "/human/tasks/{taskId}/externalUser/{userId}";
+ var localVarPathParams = new Dictionary();
+ var localVarQueryParams = new List>();
+ var localVarHeaderParams = new Dictionary(this.Configuration.DefaultHeader);
+ var localVarFormParams = new Dictionary();
+ var localVarFileParams = new Dictionary();
+ Object localVarPostBody = null;
+
+ // to determine the Content-Type header
+ String[] localVarHttpContentTypes = new String[] {
+ };
+ String localVarHttpContentType = this.Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
+
+ // to determine the Accept header
+ String[] localVarHttpHeaderAccepts = new String[] {
+ "application/json"
+ };
+ String localVarHttpHeaderAccept = this.Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);
+ if (localVarHttpHeaderAccept != null)
+ localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
+
+ if (taskId != null) localVarPathParams.Add("taskId", this.Configuration.ApiClient.ParameterToString(taskId)); // path parameter
+ if (userId != null) localVarPathParams.Add("userId", this.Configuration.ApiClient.ParameterToString(userId)); // path parameter
+ if (overrideAssignment != null) localVarQueryParams.AddRange(this.Configuration.ApiClient.ParameterToKeyValuePairs("", "overrideAssignment", overrideAssignment)); // query parameter
+ // authentication (api_key) required
+ if (!String.IsNullOrEmpty(this.Configuration.AccessToken))
+ {
+ localVarHeaderParams["X-Authorization"] = this.Configuration.AccessToken;
+ }
+
+ // make the HTTP request
+ RestResponse localVarResponse = (RestResponse)this.Configuration.ApiClient.CallApi(localVarPath,
+ Method.Post, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
+ localVarPathParams, localVarHttpContentType);
+
+ int localVarStatusCode = (int)localVarResponse.StatusCode;
+
+ if (ExceptionFactory != null)
+ {
+ Exception exception = ExceptionFactory("AssignAndClaim", localVarResponse);
+ if (exception != null) throw exception;
+ }
+
+ return new ApiResponse(localVarStatusCode,
+ localVarResponse.Headers.ToDictionary(x => x.Name, x => string.Join(",", x.Value)),
+ (HumanTaskEntry)this.Configuration.ApiClient.Deserialize(localVarResponse, typeof(HumanTaskEntry)));
+ }
+
+ ///
+ /// Claim a task to an external user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ ///
+ /// (optional, default to false)
+ /// Task of HumanTaskEntry
+ public async ThreadTask.Task AssignAndClaimAsync(string taskId, string userId, bool? overrideAssignment = null)
+ {
+ ApiResponse localVarResponse = await AssignAndClaimAsyncWithHttpInfo(taskId, userId, overrideAssignment);
+ return localVarResponse.Data;
+
+ }
+
+ ///
+ /// Claim a task to an external user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ ///
+ /// (optional, default to false)
+ /// Task of ApiResponse (HumanTaskEntry)
+ public async ThreadTask.Task> AssignAndClaimAsyncWithHttpInfo(string taskId, string userId, bool? overrideAssignment = null)
+ {
+ // verify the required parameter 'taskId' is set
+ if (taskId == null)
+ throw new ApiException(400, "Missing required parameter 'taskId' when calling HumanTaskApi->AssignAndClaim");
+ // verify the required parameter 'userId' is set
+ if (userId == null)
+ throw new ApiException(400, "Missing required parameter 'userId' when calling HumanTaskApi->AssignAndClaim");
+
+ var localVarPath = "/human/tasks/{taskId}/externalUser/{userId}";
+ var localVarPathParams = new Dictionary();
+ var localVarQueryParams = new List>();
+ var localVarHeaderParams = new Dictionary(this.Configuration.DefaultHeader);
+ var localVarFormParams = new Dictionary();
+ var localVarFileParams = new Dictionary();
+ Object localVarPostBody = null;
+
+ // to determine the Content-Type header
+ String[] localVarHttpContentTypes = new String[] {
+ };
+ String localVarHttpContentType = this.Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
+
+ // to determine the Accept header
+ String[] localVarHttpHeaderAccepts = new String[] {
+ "application/json"
+ };
+ String localVarHttpHeaderAccept = this.Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);
+ if (localVarHttpHeaderAccept != null)
+ localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
+
+ if (taskId != null) localVarPathParams.Add("taskId", this.Configuration.ApiClient.ParameterToString(taskId)); // path parameter
+ if (userId != null) localVarPathParams.Add("userId", this.Configuration.ApiClient.ParameterToString(userId)); // path parameter
+ if (overrideAssignment != null) localVarQueryParams.AddRange(this.Configuration.ApiClient.ParameterToKeyValuePairs("", "overrideAssignment", overrideAssignment)); // query parameter
+ // authentication (api_key) required
+ if (!String.IsNullOrEmpty(this.Configuration.AccessToken))
+ {
+ localVarHeaderParams["X-Authorization"] = this.Configuration.AccessToken;
+ }
+
+ // make the HTTP request
+ RestResponse localVarResponse = (RestResponse)await this.Configuration.ApiClient.CallApiAsync(localVarPath,
+ Method.Post, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
+ localVarPathParams, localVarHttpContentType);
+
+ int localVarStatusCode = (int)localVarResponse.StatusCode;
+
+ if (ExceptionFactory != null)
+ {
+ Exception exception = ExceptionFactory("AssignAndClaim", localVarResponse);
+ if (exception != null) throw exception;
+ }
+
+ return new ApiResponse(localVarStatusCode,
+ localVarResponse.Headers.ToDictionary(x => x.Name, x => string.Join(",", x.Value)),
+ (HumanTaskEntry)this.Configuration.ApiClient.Deserialize(localVarResponse, typeof(HumanTaskEntry)));
+ }
+
+ ///
+ /// Claim a task by authenticated Conductor user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ /// (optional, default to false)
+ /// HumanTaskEntry
+ public HumanTaskEntry ClaimTask(string taskId, bool? overrideAssignment = null)
+ {
+ ApiResponse localVarResponse = ClaimTaskWithHttpInfo(taskId, overrideAssignment);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Claim a task by authenticated Conductor user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ /// (optional, default to false)
+ /// ApiResponse of HumanTaskEntry
+ public ApiResponse ClaimTaskWithHttpInfo(string taskId, bool? overrideAssignment = null)
+ {
+ // verify the required parameter 'taskId' is set
+ if (taskId == null)
+ throw new ApiException(400, "Missing required parameter 'taskId' when calling HumanTaskApi->ClaimTask");
+
+ var localVarPath = "/human/tasks/{taskId}/claim";
+ var localVarPathParams = new Dictionary();
+ var localVarQueryParams = new List>();
+ var localVarHeaderParams = new Dictionary(this.Configuration.DefaultHeader);
+ var localVarFormParams = new Dictionary();
+ var localVarFileParams = new Dictionary();
+ Object localVarPostBody = null;
+
+ // to determine the Content-Type header
+ String[] localVarHttpContentTypes = new String[] {
+ };
+ String localVarHttpContentType = this.Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
+
+ // to determine the Accept header
+ String[] localVarHttpHeaderAccepts = new String[] {
+ "application/json"
+ };
+ String localVarHttpHeaderAccept = this.Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);
+ if (localVarHttpHeaderAccept != null)
+ localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
+
+ if (taskId != null) localVarPathParams.Add("taskId", this.Configuration.ApiClient.ParameterToString(taskId)); // path parameter
+ if (overrideAssignment != null) localVarQueryParams.AddRange(this.Configuration.ApiClient.ParameterToKeyValuePairs("", "overrideAssignment", overrideAssignment)); // query parameter
+ // authentication (api_key) required
+ if (!String.IsNullOrEmpty(this.Configuration.AccessToken))
+ {
+ localVarHeaderParams["X-Authorization"] = this.Configuration.AccessToken;
+ }
+
+ // make the HTTP request
+ RestResponse localVarResponse = (RestResponse)this.Configuration.ApiClient.CallApi(localVarPath,
+ Method.Post, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
+ localVarPathParams, localVarHttpContentType);
+
+ int localVarStatusCode = (int)localVarResponse.StatusCode;
+
+ if (ExceptionFactory != null)
+ {
+ Exception exception = ExceptionFactory("ClaimTask", localVarResponse);
+ if (exception != null) throw exception;
+ }
+
+ return new ApiResponse(localVarStatusCode,
+ localVarResponse.Headers.ToDictionary(x => x.Name, x => string.Join(",", x.Value)),
+ (HumanTaskEntry)this.Configuration.ApiClient.Deserialize(localVarResponse, typeof(HumanTaskEntry)));
+ }
+
+ ///
+ /// Claim a task by authenticated Conductor user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ /// (optional, default to false)
+ /// Task of HumanTaskEntry
+ public async ThreadTask.Task ClaimTaskAsync(string taskId, bool? overrideAssignment = null)
+ {
+ ApiResponse localVarResponse = await ClaimTaskAsyncWithHttpInfo(taskId, overrideAssignment);
+ return localVarResponse.Data;
+
+ }
+
+ ///
+ /// Claim a task by authenticated Conductor user
+ ///
+ /// Thrown when fails to make API call
+ ///
+ /// (optional, default to false)
+ /// Task of ApiResponse (HumanTaskEntry)
+ public async ThreadTask.Task> ClaimTaskAsyncWithHttpInfo(string taskId, bool? overrideAssignment = null)
+ {
+ // verify the required parameter 'taskId' is set
+ if (taskId == null)
+ throw new ApiException(400, "Missing required parameter 'taskId' when calling HumanTaskApi->ClaimTask");
+
+ var localVarPath = "/human/tasks/{taskId}/claim";
+ var localVarPathParams = new Dictionary();
+ var localVarQueryParams = new List>();
+ var localVarHeaderParams = new Dictionary(this.Configuration.DefaultHeader);
+ var localVarFormParams = new Dictionary();
+ var localVarFileParams = new Dictionary();
+ Object localVarPostBody = null;
+
+ // to determine the Content-Type header
+ String[] localVarHttpContentTypes = new String[] {
+ };
+ String localVarHttpContentType = this.Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
+
+ // to determine the Accept header
+ String[] localVarHttpHeaderAccepts = new String[] {
+ "application/json"
+ };
+ String localVarHttpHeaderAccept = this.Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);
+ if (localVarHttpHeaderAccept != null)
+ localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
+
+ if (taskId != null) localVarPathParams.Add("taskId", this.Configuration.ApiClient.ParameterToString(taskId)); // path parameter
+ if (overrideAssignment != null) localVarQueryParams.AddRange(this.Configuration.ApiClient.ParameterToKeyValuePairs("", "overrideAssignment", overrideAssignment)); // query parameter
+ // authentication (api_key) required
+ if (!String.IsNullOrEmpty(this.Configuration.AccessToken))
+ {
+ localVarHeaderParams["X-Authorization"] = this.Configuration.AccessToken;
+ }
+
+ // make the HTTP request
+ RestResponse localVarResponse = (RestResponse)await this.Configuration.ApiClient.CallApiAsync(localVarPath,
+ Method.Post, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
+ localVarPathParams, localVarHttpContentType);
+
+ int localVarStatusCode = (int)localVarResponse.StatusCode;
+
+ if (ExceptionFactory != null)
+ {
+ Exception exception = ExceptionFactory("ClaimTask", localVarResponse);
+ if (exception != null) throw exception;
+ }
+
+ return new ApiResponse(localVarStatusCode,
+ localVarResponse.Headers.ToDictionary(x => x.Name, x => string.Join(",", x.Value)),
+ (HumanTaskEntry)this.Configuration.ApiClient.Deserialize(localVarResponse, typeof(HumanTaskEntry)));
+ }
+
+ ///
+ /// Delete all versions of user form template by name
+ ///
+ /// Thrown when fails to make API call
+ ///
+ ///
+ public void DeleteTemplateByName(string name)
+ {
+ DeleteTemplateByNameWithHttpInfo(name);
+ }
+
+ ///
+ /// Delete all versions of user form template by name
+ ///
+ /// Thrown when fails to make API call
+ ///
+ /// ApiResponse of Object(void)
+ public ApiResponse