Full Code of jlucansky/Camunda.Api.Client for AI

master 34803317afbb cached
307 files
713.9 KB
164.0k tokens
1259 symbols
1 requests
Download .txt
Showing preview only (795K chars total). Download the full file or copy to clipboard to get everything.
Repository: jlucansky/Camunda.Api.Client
Branch: master
Commit: 34803317afbb
Files: 307
Total size: 713.9 KB

Directory structure:
gitextract_dm5kiy9h/

├── .gitattributes
├── .gitignore
├── Camunda.Api.Client/
│   ├── ApiException.cs
│   ├── Batch/
│   │   └── BatchInfo.cs
│   ├── BinaryDataContent.cs
│   ├── Camunda.Api.Client.csproj
│   ├── CamundaClient.cs
│   ├── CaseDefinition/
│   │   ├── CaseDefinitionDiagram.cs
│   │   ├── CaseDefinitionInfo.cs
│   │   ├── CaseDefinitionQuery.cs
│   │   ├── CaseDefinitionResource.cs
│   │   ├── CaseDefinitionResourceById.cs
│   │   ├── CaseDefinitionResourceByKey.cs
│   │   ├── CaseDefinitionResourceByKeyAndTenantId.cs
│   │   ├── CaseDefinitionService.cs
│   │   ├── CreateCaseInstance.cs
│   │   └── ICaseDefinitionRestService.cs
│   ├── CaseExecution/
│   │   ├── CaseExecutionComplete.cs
│   │   ├── CaseExecutionDisable.cs
│   │   ├── CaseExecutionInfo.cs
│   │   ├── CaseExecutionQuery.cs
│   │   ├── CaseExecutionReEnable.cs
│   │   ├── CaseExecutionResource.cs
│   │   ├── CaseExecutionService.cs
│   │   ├── CaseExecutionStart.cs
│   │   ├── CaseExecutionTerminate.cs
│   │   └── ICaseExecutionRestService.cs
│   ├── CaseInstance/
│   │   ├── CaseInstanceDeleteVariable.cs
│   │   ├── CaseInstanceInfo.cs
│   │   ├── CaseInstanceQuery.cs
│   │   ├── CaseInstanceQueryVariable.cs
│   │   ├── CaseInstanceResource.cs
│   │   ├── CaseInstanceService.cs
│   │   ├── CaseInstanceSorting.cs
│   │   ├── CaseInstanceVariableValue.cs
│   │   ├── ChangeCaseInstanceState.cs
│   │   ├── ICaseInstanceRestService.cs
│   │   └── VariableResource.cs
│   ├── ConditionQueryParameter.cs
│   ├── CountResult.cs
│   ├── DateTimeExtensions.cs
│   ├── DecisionDefinition/
│   │   ├── DecisionDefinitionDiagram.cs
│   │   ├── DecisionDefinitionInfo.cs
│   │   ├── DecisionDefinitionQuery.cs
│   │   ├── DecisionDefinitionResource.cs
│   │   ├── DecisionDefinitionResourceById.cs
│   │   ├── DecisionDefinitionResourceByKey.cs
│   │   ├── DecisionDefinitionResourceByKeyAndTenantId.cs
│   │   ├── DecisionDefinitionService.cs
│   │   ├── EvaluateDecision.cs
│   │   └── IDecisionDefinitionRestService.cs
│   ├── Deployment/
│   │   ├── DeploymentInfo.cs
│   │   ├── DeploymentQuery.cs
│   │   ├── DeploymentResource.cs
│   │   ├── DeploymentResourceInfo.cs
│   │   ├── DeploymentResourcesResource.cs
│   │   ├── DeploymentService.cs
│   │   ├── IDeploymentRestService.cs
│   │   ├── RedeploymentInfo.cs
│   │   └── ResourceDataContent.cs
│   ├── EnumerableExtensions.cs
│   ├── ErrorMessageHandler.cs
│   ├── Execution/
│   │   ├── EventSubscription.cs
│   │   ├── EventSubscriptionResource.cs
│   │   ├── ExecutionInfo.cs
│   │   ├── ExecutionQuery.cs
│   │   ├── ExecutionResource.cs
│   │   ├── ExecutionService.cs
│   │   ├── ExecutionTrigger.cs
│   │   ├── IExecutionRestService.cs
│   │   └── LocalVariableResource.cs
│   ├── ExternalTask/
│   │   ├── CompleteExternalTask.cs
│   │   ├── ExternalTaskBpmnError.cs
│   │   ├── ExternalTaskExtendLock.cs
│   │   ├── ExternalTaskFailure.cs
│   │   ├── ExternalTaskInfo.cs
│   │   ├── ExternalTaskQuery.cs
│   │   ├── ExternalTaskResource.cs
│   │   ├── ExternalTaskService.cs
│   │   ├── FetchExternalTaskTopic.cs
│   │   ├── FetchExternalTasks.cs
│   │   ├── IExternalTaskRestService.cs
│   │   └── LockedExternalTask.cs
│   ├── Filter/
│   │   ├── FilterInfo.cs
│   │   ├── FilterQuery.cs
│   │   ├── FilterResource.cs
│   │   ├── FilterService.cs
│   │   └── IFilterRestService.cs
│   ├── Group/
│   │   ├── GroupInfo.cs
│   │   ├── GroupQuery.cs
│   │   ├── GroupResource.cs
│   │   ├── GroupService.cs
│   │   └── IGroupRestService.cs
│   ├── History/
│   │   ├── AbstractReport.cs
│   │   ├── CleanableProcessInstanceReport.cs
│   │   ├── CleanableProcessInstanceReportCount.cs
│   │   ├── CleanableProcessInstanceReportResult.cs
│   │   ├── CountReportResult.cs
│   │   ├── DeleteHistoricProcessInstances.cs
│   │   ├── DurationReportResult.cs
│   │   ├── HistoricActivityInstance.cs
│   │   ├── HistoricActivityInstanceQuery.cs
│   │   ├── HistoricActivityInstanceResource.cs
│   │   ├── HistoricActivityInstanceService.cs
│   │   ├── HistoricActivityStatistics.cs
│   │   ├── HistoricActivityStatisticsResult.cs
│   │   ├── HistoricCaseActivityInstance.cs
│   │   ├── HistoricCaseActivityInstanceQuery.cs
│   │   ├── HistoricCaseActivityInstanceQueryResource.cs
│   │   ├── HistoricCaseActivityInstanceResource.cs
│   │   ├── HistoricCaseActivityInstanceService.cs
│   │   ├── HistoricCaseDefinitionResource.cs
│   │   ├── HistoricCaseDefinitionService.cs
│   │   ├── HistoricCaseDefinitionStatisticsResult.cs
│   │   ├── HistoricCaseInstance.cs
│   │   ├── HistoricCaseInstanceQuery.cs
│   │   ├── HistoricCaseInstanceResource.cs
│   │   ├── HistoricCaseInstanceService.cs
│   │   ├── HistoricDecisionInstance.cs
│   │   ├── HistoricDecisionInstanceInputValue.cs
│   │   ├── HistoricDecisionInstanceOutputValue.cs
│   │   ├── HistoricDecisionInstanceQuery.cs
│   │   ├── HistoricDecisionInstanceResource.cs
│   │   ├── HistoricDecisionInstanceService.cs
│   │   ├── HistoricDetail.cs
│   │   ├── HistoricDetailQuery.cs
│   │   ├── HistoricDetailResource.cs
│   │   ├── HistoricDetailService.cs
│   │   ├── HistoricExternalTaskLog.cs
│   │   ├── HistoricExternalTaskLogQuery.cs
│   │   ├── HistoricExternalTaskLogResource.cs
│   │   ├── HistoricExternalTaskLogService.cs
│   │   ├── HistoricIncident.cs
│   │   ├── HistoricIncidentQuery.cs
│   │   ├── HistoricIncidentService.cs
│   │   ├── HistoricJobLog.cs
│   │   ├── HistoricJobLogQuery.cs
│   │   ├── HistoricJobLogResource.cs
│   │   ├── HistoricJobLogService.cs
│   │   ├── HistoricProcessDefinitionService.cs
│   │   ├── HistoricProcessInstance.cs
│   │   ├── HistoricProcessInstanceQuery.cs
│   │   ├── HistoricProcessInstanceReport.cs
│   │   ├── HistoricProcessInstanceResource.cs
│   │   ├── HistoricProcessInstanceService.cs
│   │   ├── HistoricTask.cs
│   │   ├── HistoricTaskCountReport.cs
│   │   ├── HistoricTaskDurationReport.cs
│   │   ├── HistoricTaskQuery.cs
│   │   ├── HistoricUserTaskService.cs
│   │   ├── HistoricVariableInstance.cs
│   │   ├── HistoricVariableInstanceQuery.cs
│   │   ├── HistoricVariableInstanceQueryResource.cs
│   │   ├── HistoricVariableInstanceResource.cs
│   │   ├── HistoricVariableInstanceService.cs
│   │   ├── HistoryService.cs
│   │   ├── IHistoricActivityInstanceRestService.cs
│   │   ├── IHistoricCaseActivityInstanceRestService.cs
│   │   ├── IHistoricCaseDefinitionRestService.cs
│   │   ├── IHistoricCaseInstanceRestService.cs
│   │   ├── IHistoricDecisionInstanceRestService.cs
│   │   ├── IHistoricDetailRestService.cs
│   │   ├── IHistoricExternalTaskLogRestService.cs
│   │   ├── IHistoricIncidentRestService.cs
│   │   ├── IHistoricJobLogRestService.cs
│   │   ├── IHistoricProcessDefinitionRestService.cs
│   │   ├── IHistoricProcessInstanceRestService.cs
│   │   ├── IHistoricUserTaskRestService.cs
│   │   ├── IHistoricVariableInstanceRestService.cs
│   │   └── ReportResult.cs
│   ├── HttpContentMultipartItem.cs
│   ├── IVariableResource.cs
│   ├── Identity/
│   │   ├── IIdentityRestService.cs
│   │   ├── IdentityGroupMembership.cs
│   │   ├── IdentityQuery.cs
│   │   ├── IdentityService.cs
│   │   ├── IdentityUserCredentials.cs
│   │   └── IdentityVerifiedUser.cs
│   ├── Incident/
│   │   ├── IIncidentRestService.cs
│   │   ├── IncidentInfo.cs
│   │   ├── IncidentQuery.cs
│   │   └── IncidentService.cs
│   ├── Job/
│   │   ├── IJobRestService.cs
│   │   ├── JobDuedateInfo.cs
│   │   ├── JobInfo.cs
│   │   ├── JobQuery.cs
│   │   ├── JobResource.cs
│   │   ├── JobRetries.cs
│   │   ├── JobService.cs
│   │   └── JobSuspensionState.cs
│   ├── JobDefinition/
│   │   ├── IJobDefinitionRestService.cs
│   │   ├── JobDefinitionInfo.cs
│   │   ├── JobDefinitionPriority.cs
│   │   ├── JobDefinitionQuery.cs
│   │   ├── JobDefinitionResource.cs
│   │   ├── JobDefinitionService.cs
│   │   └── JobDefinitionSuspensionState.cs
│   ├── MediaTypes.cs
│   ├── Message/
│   │   ├── CorrelationMessage.cs
│   │   ├── CorrelationResult.cs
│   │   ├── IMessageRestService.cs
│   │   └── MessageService.cs
│   ├── Migration/
│   │   ├── IMigrationRestService.cs
│   │   ├── MigrationExecution.cs
│   │   ├── MigrationInstruction.cs
│   │   ├── MigrationInstructionValidationReport.cs
│   │   ├── MigrationPlan.cs
│   │   ├── MigrationPlanGeneration.cs
│   │   ├── MigrationPlanReport.cs
│   │   └── MigrationService.cs
│   ├── NamedVariableValue.cs
│   ├── PatchVariables.cs
│   ├── PlainTextContent.cs
│   ├── PriorityInfo.cs
│   ├── ProcessDefinition/
│   │   ├── FormInfo.cs
│   │   ├── IProcessDefinitionRestService.cs
│   │   ├── IncidentStatisticsResult.cs
│   │   ├── ProcessDefinitionDiagram.cs
│   │   ├── ProcessDefinitionInfo.cs
│   │   ├── ProcessDefinitionQuery.cs
│   │   ├── ProcessDefinitionResource.cs
│   │   ├── ProcessDefinitionResourceById.cs
│   │   ├── ProcessDefinitionResourceByKey.cs
│   │   ├── ProcessDefinitionResourceByKeyAndTenantId.cs
│   │   ├── ProcessDefinitionService.cs
│   │   ├── ProcessDefinitionStatisticsResult.cs
│   │   ├── ProcessDefinitionSuspensionState.cs
│   │   ├── StartProcessInstance.cs
│   │   ├── StatisticsResult.cs
│   │   └── SubmitStartForm.cs
│   ├── ProcessInstance/
│   │   ├── ActivityInstanceInfo.cs
│   │   ├── DeleteProcessInstances.cs
│   │   ├── IProcessInstanceRestService.cs
│   │   ├── JobRetriesByProcess.cs
│   │   ├── ProcessInstanceInfo.cs
│   │   ├── ProcessInstanceModification.cs
│   │   ├── ProcessInstanceModificationInstruction.cs
│   │   ├── ProcessInstanceQuery.cs
│   │   ├── ProcessInstanceResource.cs
│   │   ├── ProcessInstanceService.cs
│   │   ├── ProcessInstanceSuspensionState.cs
│   │   ├── ProcessInstanceWithVariables.cs
│   │   ├── TransitionInstanceInfo.cs
│   │   ├── TriggerVariableValue.cs
│   │   └── VariableResource.cs
│   ├── QueryParameters.cs
│   ├── QueryResource.cs
│   ├── RestError.cs
│   ├── RetriesInfo.cs
│   ├── Signal/
│   │   ├── ISignalRestService.cs
│   │   ├── Signal.cs
│   │   └── SignalService.cs
│   ├── SortOrder.cs
│   ├── SortableQuery.cs
│   ├── SortingInfo.cs
│   ├── StringEnumConverter.cs
│   ├── StringExtensions.cs
│   ├── SuspensionState.cs
│   ├── Tenant/
│   │   ├── ITenantRestService.cs
│   │   ├── TenantInfo.cs
│   │   ├── TenantQuery.cs
│   │   └── TenantService.cs
│   ├── User/
│   │   ├── CreateUser.cs
│   │   ├── IUserRestService.cs
│   │   ├── UserCredentialsInfo.cs
│   │   ├── UserProfileInfo.cs
│   │   ├── UserQuery.cs
│   │   ├── UserResource.cs
│   │   └── UserService.cs
│   ├── UserInfo.cs
│   ├── UserTask/
│   │   ├── AttachmentContent.cs
│   │   ├── AttachmentInfo.cs
│   │   ├── Comment.cs
│   │   ├── CommentInfo.cs
│   │   ├── CompleteTask.cs
│   │   ├── DelegationState.cs
│   │   ├── IUserTaskRestService.cs
│   │   ├── IdentityLink.cs
│   │   ├── LocalVariableResource.cs
│   │   ├── ResolveTask.cs
│   │   ├── TaskAttachmentResource.cs
│   │   ├── TaskCommentResource.cs
│   │   ├── TaskCountByCandidateGroupResult.cs
│   │   ├── TaskIdentityLinkResource.cs
│   │   ├── TaskQuery.cs
│   │   ├── TaskResource.cs
│   │   ├── UserTask.cs
│   │   ├── UserTaskInfo.cs
│   │   ├── UserTaskService.cs
│   │   └── VariableResource.cs
│   ├── ValueTypeContent.cs
│   ├── VariableInstance/
│   │   ├── IVariableInstanceRestService.cs
│   │   ├── VariableInstanceInfo.cs
│   │   ├── VariableInstanceQuery.cs
│   │   ├── VariableInstanceQueryResource.cs
│   │   ├── VariableInstanceResource.cs
│   │   └── VariableInstanceService.cs
│   ├── VariableOrder.cs
│   ├── VariableQueryParameter.cs
│   └── VariableValue.cs
├── Camunda.Api.Client.Tests/
│   ├── Camunda.Api.Client.Tests.csproj
│   ├── DateTimeTests.cs
│   └── ProcessInstanceTests.cs
├── Camunda.Api.Client.sln
├── Key.snk
├── LICENSE
└── README.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs     diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following 
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln       merge=binary
#*.csproj    merge=binary
#*.vbproj    merge=binary
#*.vcxproj   merge=binary
#*.vcproj    merge=binary
#*.dbproj    merge=binary
#*.fsproj    merge=binary
#*.lsproj    merge=binary
#*.wixproj   merge=binary
#*.modelproj merge=binary
#*.sqlproj   merge=binary
#*.wwaproj   merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg   binary
#*.png   binary
#*.gif   binary

###############################################################################
# diff behavior for common document formats
# 
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the 
# entries below.
###############################################################################
#*.doc   diff=astextplain
#*.DOC   diff=astextplain
#*.docx  diff=astextplain
#*.DOCX  diff=astextplain
#*.dot   diff=astextplain
#*.DOT   diff=astextplain
#*.pdf   diff=astextplain
#*.PDF   diff=astextplain
#*.rtf   diff=astextplain
#*.RTF   diff=astextplain


================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
[Xx]64/
[Xx]86/
[Bb]uild/
bld/
[Bb]in/
[Oo]bj/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
artifacts/

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml

# TODO: Un-comment the next line if you do not want to checkin
# your web deploy settings because they may include unencrypted
# passwords
#*.pubxml
*.publishproj

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directory
AppPackages/
BundleArtifacts/

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# Others
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# LightSwitch generated files
GeneratedArtifacts/
ModelManifest.xml

# Paket dependency manager
.paket/paket.exe

# FAKE - F# Make
.fake/


================================================
FILE: Camunda.Api.Client/ApiException.cs
================================================
using Newtonsoft.Json;
using System;
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Linq.Expressions;
using System.Net.Http;
using System.Reflection;

namespace Camunda.Api.Client
{
    [JsonObject(MemberSerialization.OptIn)]
    public class ApiException : Exception
    {
        public string ErrorType { get; }
        public HttpResponseMessage Response { get; }

        [DebuggerBrowsable(DebuggerBrowsableState.Never)]
        private static readonly ConcurrentDictionary<string, Func<string, string, HttpResponseMessage, ApiException>> _knownTypes =
            new ConcurrentDictionary<string, Func<string, string, HttpResponseMessage, ApiException>>();

        public ApiException(string type, string message, HttpResponseMessage response) : base(message)
        {
            ErrorType = type;
            Response = response;
        }

        private static Func<string, string, HttpResponseMessage, ApiException> GetConstructor(string typeName)
        {
            return _knownTypes.GetOrAdd(typeName, typeName_ =>
            {
                Type t = Type.GetType($"{typeof(ApiException).Namespace}.{typeName_}");

                if (t == null || !typeof(ApiException).IsAssignableFrom(t))
                    return null;

                var paramType = Expression.Parameter(typeof(string));
                var paramMessage = Expression.Parameter(typeof(string));
                var paramResponse = Expression.Parameter(typeof(HttpResponseMessage));

                var ctor = t.GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { paramType.Type, paramMessage.Type, paramResponse.Type }, null);

                if (ctor == null)
                    return null;

                var newExpression = Expression.New(ctor, paramType, paramMessage, paramResponse);
                var lambda = Expression.Lambda<Func<string, string, HttpResponseMessage, ApiException>>(newExpression, paramType, paramMessage, paramResponse);

                return lambda.Compile();
            });
        }

        public static ApiException FromRestError(RestError restError, HttpResponseMessage response)
        {
            var ctor = GetConstructor(restError.Type);
            if (ctor != null)
                return ctor(restError.Type, restError.Message, response);
            else
                return new ApiException(restError.Type, restError.Message, response);
        }
    }

    /// <summary>
    /// Exception thrown by the process engine in case a user tries to interact with a resource in an unauthorized way.
    /// </summary>
    public class AuthorizationException : ApiException
    {
        [JsonProperty]
        public string UserId { get; private set; }
        [JsonProperty]
        public string PermissionName { get; private set; }
        [JsonProperty]
        public string ResourceName { get; private set; }
        [JsonProperty]
        public string ResourceId { get; private set; }

        public AuthorizationException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine
    /// </summary>
    public class RuntimeException : ApiException
    {
        public RuntimeException(string type, string message, HttpResponseMessage response)
            : base(type, message, response) { }
    }

    public class RestException : RuntimeException
    {
        public RestException(string type, string message, HttpResponseMessage response)
            : base(type, message, response) { }
    }

    /// <summary>
    /// This exception is used for any kind of errors that occur due to malformed parameters in a Http query.
    /// </summary>
    public class InvalidRequestException : RestException
    {
        public InvalidRequestException(string type, string message, HttpResponseMessage response)
            : base(type, message, response) { }
    }

    /// <summary>
    /// Runtime exception that is the superclass of all exceptions in the process engine.
    /// </summary>
    public class ProcessEngineException : RuntimeException
    {
        public ProcessEngineException(string type, string message, HttpResponseMessage response)
            : base(type, message, response) { }
    }

    /// <summary>
    /// Exception resulting from a bad user request. A bad user request is an interaction where the user requests some non-existing state or attempts to perform an illegal action on some entity.
    /// </summary>
    public class BadUserRequestException : ProcessEngineException
    {
        public BadUserRequestException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Exception during the parsing of an BPMN model.
    /// </summary>
    public class BpmnParseException : ProcessEngineException
    {
        public BpmnParseException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Runtime exception indicating the requested class was not found or an error occurred while loading the class.
    /// </summary>
    public class ClassLoadingException : ProcessEngineException
    {
        [JsonProperty]
        public string ClassName { get; private set; }

        public ClassLoadingException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Exception that is thrown when an optimistic locking occurs in the datastore  caused by concurrent access of the same data entry.
    /// </summary>
    public class OptimisticLockingException : ProcessEngineException
    {
        public OptimisticLockingException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Exception resulting from a error during a script compilation.
    /// </summary>
    public class ScriptEngineException : ProcessEngineException
    {
        public ScriptEngineException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// This exception is thrown when you try to claim a task that is already claimed by someone else.
    /// </summary>
    public class TaskAlreadyClaimedException : ProcessEngineException
    {
        public TaskAlreadyClaimedException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Exception that is thrown when the Activiti engine discovers a mismatch between the database schema version and the engine version.
    /// </summary>
    public class WrongDbException : ProcessEngineException
    {
        public WrongDbException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Special exception that can be used to throw a BPMN Error from JavaDelegate and expressions.
    /// This should only be used for business faults, which shall be handled by a Boundary Error Event or Error Event Sub-Process modeled in the process definition.
    /// Technical errors should be represented by other exception types.
    /// </summary>
    public class BpmnError : ProcessEngineException
    {
        [JsonProperty]
        public string ErrorCode { get; private set; }
        [JsonProperty]
        public string ErrorMessage { get; private set; }

        public BpmnError(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    public class DeploymentResourceNotFoundException : ProcessEngineException
    {
        public DeploymentResourceNotFoundException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    public class NullValueException : ProcessEngineException
    {
        public NullValueException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// This is exception is thrown when a specific case definition is not found.
    /// </summary>
    public class CaseException : ProcessEngineException
    {
        public CaseException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// This exception is thrown when a specific decision definition is not found.
    /// </summary>
    public class DecisionException : ProcessEngineException
    {
        public DecisionException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    public class FormException : ProcessEngineException
    {
        public FormException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Marks an exception triggered inside an identity provider implementation.
    /// </summary>
    public class IdentityProviderException : ProcessEngineException
    {
        public IdentityProviderException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Represents any of the exception conditions that can arise during expression evaluation.
    /// </summary>
    public class ELException : ProcessEngineException
    {
        public ELException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    public class PvmException : ProcessEngineException
    {
        public PvmException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Thrown if at least one migration instruction cannot be applied to the activity instance it matches.
    /// </summary>
    public class MigratingProcessInstanceValidationException : ProcessEngineException
    {
        public MigratingProcessInstanceValidationException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Represents an exception in activiti cdi.
    /// </summary>
    public class ProcessEngineCdiException : ProcessEngineException
    {
        public ProcessEngineCdiException(string type, string message, HttpResponseMessage response)
            :base(type, message, response) { }
    }

    /// <summary>
    /// Unable to bootstrap server.
    /// </summary>
    public class ServerBootstrapException : RuntimeException
    {
        public ServerBootstrapException(string type, string message, HttpResponseMessage response)
            : base(type, message, response) { }
    }

    /// <summary>
    /// The JSONException is thrown by the JSON.org classes when things are amiss.
    /// </summary>
    public class JSONException : RuntimeException
    {
        public JSONException(string type, string message, HttpResponseMessage response)
            : base(type, message, response) { }
    }

    public class HalRelationCacheConfigurationException : RuntimeException
    {
        public HalRelationCacheConfigurationException(string type, string message, HttpResponseMessage response)
            : base(type, message, response) { }
    }
}


================================================
FILE: Camunda.Api.Client/Batch/BatchInfo.cs
================================================
namespace Camunda.Api.Client.Batch
{
    public class BatchInfo
    {
        /// <summary>
        /// The id of the batch.
        /// </summary>
        public string Id;
        /// <summary>
        /// The type of the batch.
        /// </summary>
        public string Type;
        /// <summary>
        /// The total jobs of a batch is the number of batch execution jobs required to complete the batch.
        /// </summary>
        public int TotalJobs;
        /// <summary>
        /// The number of batch execution jobs already created by the seed job.
        /// </summary>
        public int JobsCreated;
        /// <summary>
        /// Number	The number of batch execution jobs created per seed job invocation.
        /// The batch seed job is invoked until it has created all batch execution jobs required by the batch (see <see cref="TotalJobs"/> property).
        /// </summary>
        public int BatchJobsPerSeed;
        /// <summary>
        /// Every batch execution job invokes the command executed by the batch invocationsPerBatchJob times.
        /// E.g., for a process instance migration batch this specifies the number of process instances which are migrated per batch execution job.
        /// </summary>
        public int InvocationsPerBatchJob;
        /// <summary>
        /// The job definition id for the seed jobs of this batch.
        /// </summary>
        public string SeedJobDefinitionId;
        /// <summary>
        /// The job definition id for the batch execution jobs of this batch.
        /// </summary>
        public string BatchJobDefinitionId;
        /// <summary>
        /// Indicates whether this batch is suspended or not.
        /// </summary>
        public bool Suspended;
        /// <summary>
        /// The tenant id of the batch.
        /// </summary>
        public string TenantId;
        /// <summary>
        /// The id of the user that created the batch.
        /// </summary>
        public string CreateUserId;
    }
}


================================================
FILE: Camunda.Api.Client/BinaryDataContent.cs
================================================
using Iana;
using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;

namespace Camunda.Api.Client
{
    public class BinaryDataContent : StreamContent
    {
        /// <param name="stream">The binary data to be set.</param>
        /// <param name="fileName">The name of the file. This is not the variable name but the name that will be used when downloading the file again.</param>
        public BinaryDataContent(Stream stream, string fileName = "unspecified") : base(stream)
        {
            Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { FileName = fileName, Name = "data" };
            Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Application.OctetStream);
            Headers.Add("Content-Transfer-Encoding", "binary");
        }
    }
}


================================================
FILE: Camunda.Api.Client/Camunda.Api.Client.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
    <GenerateDocumentationFile Condition=" '$(Configuration)' == 'Release' ">true</GenerateDocumentationFile>
    <VersionSuffix></VersionSuffix>
    <VersionPrefix>2.6.0</VersionPrefix>
    <FileVersion>2.6.0.0</FileVersion>
    <Product>Camunda REST API Client</Product>
    <Title>Camunda REST API Client</Title>
    <Authors>Jan Lucansky</Authors>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <PackageProjectUrl>https://github.com/jlucansky/Camunda.Api.Client</PackageProjectUrl>
    <PackageIcon>icon.png</PackageIcon>
    <Description>Camunda REST API Client for .NET platform</Description>
    <PackageTags>camunda rest refit bpmn bpm</PackageTags>
    <PackageReleaseNotes></PackageReleaseNotes>
    <RepositoryType></RepositoryType>
    <PackageLicenseFile>LICENSE</PackageLicenseFile>
    <NoWarn>1701;1702;1705;1591</NoWarn>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <!-- Don't increment AssemblyVersion -->
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>..\Key.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Refit" Version="5.0.23" />
    <PackageReference Include="System.Net.Http" Version="4.3.4" />
  </ItemGroup>

  <ItemGroup>
    <None Include="..\LICENSE" Pack="true" PackagePath="" />
    <None Include="icon.png" Pack="true" PackagePath="" />
  </ItemGroup>

  
  <Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <!-- wait for manually signing to complete -->
    <Exec Condition="$(SIGNTOOL_WAIT) != ''" Command="start cmd /c pause" />
  </Target>

</Project>


================================================
FILE: Camunda.Api.Client/CamundaClient.cs
================================================
using System;
using System.Net.Http;
using System.Reflection;
using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using Refit;

using Camunda.Api.Client.CaseDefinition;
using Camunda.Api.Client.CaseExecution;
using Camunda.Api.Client.CaseInstance;
using Camunda.Api.Client.DecisionDefinition;
using Camunda.Api.Client.Deployment;
using Camunda.Api.Client.Execution;
using Camunda.Api.Client.ExternalTask;
using Camunda.Api.Client.Group;
using Camunda.Api.Client.History;
using Camunda.Api.Client.Incident;
using Camunda.Api.Client.Job;
using Camunda.Api.Client.JobDefinition;
using Camunda.Api.Client.Message;
using Camunda.Api.Client.Migration;
using Camunda.Api.Client.ProcessDefinition;
using Camunda.Api.Client.ProcessInstance;
using Camunda.Api.Client.Signal;
using Camunda.Api.Client.Tenant;
using Camunda.Api.Client.User;
using Camunda.Api.Client.UserTask;
using Camunda.Api.Client.VariableInstance;

using JsonSerializer = Newtonsoft.Json.JsonSerializer;
using Camunda.Api.Client.Filter;

namespace Camunda.Api.Client
{
    public class CamundaClient
    {
        private Lazy<ICaseDefinitionRestService> _caseDefinitionRestService;
        private Lazy<ICaseExecutionRestService> _caseExecutionRestService;
        private Lazy<ICaseInstanceRestService> _caseInstanceRestService;
        private Lazy<IDecisionDefinitionRestService> _decisionDefinitionRestService;
        private Lazy<IDeploymentRestService> _deploymentApi;
        private Lazy<IExecutionRestService> _executionApi;
        private Lazy<IExternalTaskRestService> _externalTaskApi;
        private Lazy<IGroupRestService> _groupApi;
        private Lazy<IIncidentRestService> _incidentApi;
        private Lazy<IJobDefinitionRestService> _jobDefinitionApi;
        private Lazy<IJobRestService> _jobApi;
        private Lazy<IMigrationRestService> _migrationRestService;
        private Lazy<IMessageRestService> _messageApi;
        private Lazy<IProcessDefinitionRestService> _processDefinitionApi;
        private Lazy<IProcessInstanceRestService> _processInstanceApi;
        private Lazy<ISignalRestService> _signalApi;
        private Lazy<ITenantRestService> _tenantApi;
        private Lazy<IUserRestService> _userApi;
        private Lazy<IUserTaskRestService> _userTaskApi;
        private Lazy<IVariableInstanceRestService> _variableInstanceApi;
        private Lazy<IFilterRestService> _filterApi;

        private HistoricApi _historicApi;

        private string _hostUrl;
        private HttpClient _httpClient;

        private RefitSettings _refitSettings;
        private HttpMessageHandler _httpMessageHandler;
        internal static JsonSerializerSettings JsonSerializerSettings { get; private set; }
        internal static IContentSerializer JsonContentSerializer { get; private set; }

        internal class HistoricApi
        {
            public Lazy<IHistoricActivityInstanceRestService> ActivityInstanceApi;
            public Lazy<IHistoricCaseActivityInstanceRestService> CaseActivityInstanceApi;
            public Lazy<IHistoricCaseDefinitionRestService> CaseDefinitionApi;
            public Lazy<IHistoricCaseInstanceRestService> CaseInstanceApi;
            public Lazy<IHistoricDecisionInstanceRestService> DecisionInstanceApi;
            public Lazy<IHistoricDetailRestService> DetailApi;
            public Lazy<IHistoricIncidentRestService> IncidentApi;
            public Lazy<IHistoricJobLogRestService> JobLogApi;
            public Lazy<IHistoricProcessInstanceRestService> ProcessInstanceApi;
            public Lazy<IHistoricVariableInstanceRestService> VariableInstanceApi;
            public Lazy<IHistoricUserTaskRestService> UserTaskApi;
            public Lazy<IHistoricProcessDefinitionRestService> ProcessDefinitionApi;
            public Lazy<IHistoricExternalTaskLogRestService> ExternalTaskLogApi;
        }

        static CamundaClient()
        {
            JsonSerializerSettings = JsonSerializerSettings ?? new JsonSerializerSettings
            {
                ContractResolver = new CustomCamelCasePropertyNamesContractResolver(),
                NullValueHandling = NullValueHandling.Ignore, // do not send empty fields
            };

            JsonSerializerSettings.Converters.Add(new StringEnumConverter());
            JsonSerializerSettings.Converters.Add(new CustomIsoDateTimeConverter());

            JsonContentSerializer = JsonContentSerializer ?? new JsonContentSerializer(JsonSerializerSettings);
        }

        private class CustomIsoDateTimeConverter : Newtonsoft.Json.Converters.IsoDateTimeConverter
        {
            public CustomIsoDateTimeConverter()
            {
                Culture = CultureInfo.InvariantCulture;
            }

            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
            {
                if (value is DateTime dateTime)
                {
                    if ((DateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
                        || (DateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
                    {
                        dateTime = dateTime.ToUniversalTime();
                    }

                    writer.WriteValue(dateTime.ToJavaISO8601());
                }
                else
                {
                    base.WriteJson(writer, value, serializer);
                }
            }

            public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
            {
                bool nullable = objectType.IsGenericType && objectType.GetGenericTypeDefinition() == typeof(Nullable<>);

                if (reader.TokenType == JsonToken.String)
                {
                    string dateText = reader.Value.ToString();

                    if (string.IsNullOrEmpty(dateText) && nullable)
                        return null;

                    if (dateText.EndsWith("UTC"))
                    {
                        if (DateTime.TryParseExact(dateText.Replace("UTC", "Z"), "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFK", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out var dt))
                            return dt;
                    }
                }

                return base.ReadJson(reader, objectType, existingValue, serializer);
            }
        }

        private void Initialize()
        {
            _httpMessageHandler = _httpMessageHandler ?? new ErrorMessageHandler();

            _refitSettings = _refitSettings ?? new RefitSettings
            {
                ContentSerializer = JsonContentSerializer,
                UrlParameterFormatter = new CustomUrlParameterFormatter(),
                HttpMessageHandlerFactory = () => _httpMessageHandler
            };
        }

        private class CustomUrlParameterFormatter : DefaultUrlParameterFormatter
        {
            public override string Format(object parameterValue, ICustomAttributeProvider attributeProvider, Type type)
            {
                if (parameterValue is bool)
                    return string.Format(CultureInfo.InvariantCulture, "{0}", parameterValue).ToLowerInvariant();

                return base.Format(parameterValue, attributeProvider, type);
            }
        }

        private class CustomCamelCasePropertyNamesContractResolver : CamelCasePropertyNamesContractResolver
        {
            // preserve exact dictionary key
            protected override string ResolveDictionaryKey(string dictionaryKey) => dictionaryKey;
        }

        private CamundaClient(string hostUrl)
        {
            _hostUrl = hostUrl;
            Initialize();
            CreateServices();
        }

        private CamundaClient(HttpClient httpClient)
        {
            _httpClient = httpClient;
            Initialize();
            CreateServices();
        }

        private CamundaClient(string hostUrl, HttpMessageHandler httpMessageHandler)
        {
            _hostUrl = hostUrl;
            _httpMessageHandler = httpMessageHandler;
            Initialize();
            CreateServices();
        }

        private void CreateServices()
        {
            _caseDefinitionRestService = CreateService<ICaseDefinitionRestService>();
            _caseExecutionRestService = CreateService<ICaseExecutionRestService>();
            _caseInstanceRestService = CreateService<ICaseInstanceRestService>();
            _decisionDefinitionRestService = CreateService<IDecisionDefinitionRestService>();
            _deploymentApi = CreateService<IDeploymentRestService>();
            _executionApi = CreateService<IExecutionRestService>();
            _externalTaskApi = CreateService<IExternalTaskRestService>();
            _groupApi = CreateService<IGroupRestService>();
            _incidentApi = CreateService<IIncidentRestService>();
            _jobApi = CreateService<IJobRestService>();
            _jobDefinitionApi = CreateService<IJobDefinitionRestService>();
            _messageApi = CreateService<IMessageRestService>();
            _migrationRestService = CreateService<IMigrationRestService>();
            _processDefinitionApi = CreateService<IProcessDefinitionRestService>();
            _processInstanceApi = CreateService<IProcessInstanceRestService>();
            _signalApi = CreateService<ISignalRestService>();
            _tenantApi = CreateService<ITenantRestService>();
            _userApi = CreateService<IUserRestService>();
            _userTaskApi = CreateService<IUserTaskRestService>();
            _variableInstanceApi = CreateService<IVariableInstanceRestService>();
            _filterApi = CreateService<IFilterRestService>();

            _historicApi = new HistoricApi()
            {
                ActivityInstanceApi = CreateService<IHistoricActivityInstanceRestService>(),
                CaseActivityInstanceApi = CreateService<IHistoricCaseActivityInstanceRestService>(),
                CaseDefinitionApi = CreateService<IHistoricCaseDefinitionRestService>(),
                CaseInstanceApi = CreateService<IHistoricCaseInstanceRestService>(),
                DecisionInstanceApi = CreateService<IHistoricDecisionInstanceRestService>(),
                DetailApi = CreateService<IHistoricDetailRestService>(),
                IncidentApi = CreateService<IHistoricIncidentRestService>(),
                JobLogApi = CreateService<IHistoricJobLogRestService>(),
                ProcessInstanceApi = CreateService<IHistoricProcessInstanceRestService>(),
                VariableInstanceApi = CreateService<IHistoricVariableInstanceRestService>(),
                UserTaskApi = CreateService<IHistoricUserTaskRestService>(),
                ProcessDefinitionApi = CreateService<IHistoricProcessDefinitionRestService>(),
                ExternalTaskLogApi = CreateService<IHistoricExternalTaskLogRestService>(),
            };
        }

        private Lazy<I> CreateService<I>()
        {
            if (_httpClient != null)
                return new Lazy<I>(() => RestService.For<I>(_httpClient, _refitSettings));
            else
                return new Lazy<I>(() => RestService.For<I>(_hostUrl, _refitSettings));
        }

        public static CamundaClient Create(string hostUrl)
        {
            return new CamundaClient(hostUrl);
        }

        public static CamundaClient Create(string hostUrl, HttpMessageHandler httpMessageHandler)
        {
            return new CamundaClient(hostUrl, httpMessageHandler);
        }

        public static CamundaClient Create(HttpClient httpClient)
        {
            return new CamundaClient(httpClient);
        }

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/case-definition/"/>
        public CaseDefinitionService CaseDefinitions => new CaseDefinitionService(_caseDefinitionRestService.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/case-execution/"/>
        public CaseExecutionService CaseExecutions => new CaseExecutionService(_caseExecutionRestService.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/case-instance/"/>
        public CaseInstanceService CaseInstances => new CaseInstanceService(_caseInstanceRestService.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/decision-definition/"/>
        public DecisionDefinitionService DecisionDefinitions => new DecisionDefinitionService(_decisionDefinitionRestService.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/deployment/"/>
        public DeploymentService Deployments => new DeploymentService(_deploymentApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/execution/"/>
        public ExecutionService Executions => new ExecutionService(_executionApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/external-task/"/>
        public ExternalTaskService ExternalTasks => new ExternalTaskService(_externalTaskApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/group/"/>
        public GroupService Group => new GroupService(_groupApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/history/"/>
        public HistoryService History => new HistoryService(_historicApi);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/incident/"/>
        public IncidentService Incidents => new IncidentService(_incidentApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/job-definition/"/>
        public JobDefinitionService JobDefinitions => new JobDefinitionService(_jobDefinitionApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/job/"/>
        public JobService Jobs => new JobService(_jobApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/message/"/>
        public MessageService Messages => new MessageService(_messageApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.13/reference/rest/migration/"/>
        public MigrationService Migrations => new MigrationService(_migrationRestService.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/process-definition/"/>
        public ProcessDefinitionService ProcessDefinitions => new ProcessDefinitionService(_processDefinitionApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/process-instance/"/>
        public ProcessInstanceService ProcessInstances => new ProcessInstanceService(_processInstanceApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/signal/"/>
        public SignalService Signals => new SignalService(_signalApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/task/"/>
        public TenantService Tenants => new TenantService(_tenantApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/tenant/"/>
        public UserService Users => new UserService(_userApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/user/"/>
        public UserTaskService UserTasks => new UserTaskService(_userTaskApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/variable-instance/"/>
        public VariableInstanceService VariableInstances => new VariableInstanceService(_variableInstanceApi.Value);

        /// <see href="https://docs.camunda.org/manual/7.9/reference/rest/filter/"/>
        public FilterService Filters => new FilterService(_filterApi.Value);
    }
}


================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionDiagram.cs
================================================
namespace Camunda.Api.Client.CaseDefinition
{
    public class CaseDefinitionDiagram
    {
        /// <summary>
        /// The id of the case definition.
        /// </summary>
        public string Id;

        /// <summary>
        /// An escaped XML string containing the XML that this case definition was deployed with. Carriage returns, line feeds and quotation marks are escaped.
        /// </summary>
        public string CmmnXml;

        public override string ToString() => Id;
    }
}

================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionInfo.cs
================================================
namespace Camunda.Api.Client.CaseDefinition
{
    public class CaseDefinitionInfo
    {
        /// <summary>
        /// The id of the case definition.
        /// </summary>
        public string Id;

        /// <summary>
        /// The category of the case definition.
        /// </summary>
        public string Category;

        /// <summary>
        /// The deployment id of the case definition.
        /// </summary>
        public string DeploymentId;

        /// <summary>
        /// History time to live value of the case definition. Is used within LINK.
        /// </summary>
        public int HistoryTimeToLive;

        /// <summary>
        /// The key of the case definition, i.e., the id of the CMMN XML case definition.
        /// </summary>
        public string Key;

        /// <summary>
        /// The name of the case definition.
        /// </summary>
        public string Name;

        /// <summary>
        /// The file name of the case definition.
        /// </summary>
        public string Resource;

        /// <summary>
        /// The tenant id of the case definition.
        /// </summary>
        public string TenantId;

        /// <summary>
        /// The version of the case definition that the engine assigned to it.
        /// </summary>
        public int Version;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionQuery.cs
================================================
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseDefinition
{
    public class CaseDefinitionQuery : QueryParameters
    {
        /// <summary>
        /// Filter by case definition id.
        /// </summary>
        public string CaseDefinitionId;

        /// <summary>
        /// Filter by case definition ids.
        /// </summary>
        [JsonProperty("caseDefinitionIdIn")]
        public List<string> CaseDefinitionIds = new List<string>();

        /// <summary>
        /// Filter by case definition name.
        /// </summary>
        public string Name;

        /// <summary>
        /// Filter by case definition names that the parameter is a substring of.
        /// </summary>
        public string NameLike;

        /// <summary>
        /// Filter by the deployment the id belongs to.
        /// </summary>
        public string DeploymentId;

        /// <summary>
        /// Filter by case definition key, i.e., the id in the CMMN XML.Exact match.
        /// </summary>
        public string Key;

        /// <summary>
        /// Filter by case definition keys that the parameter is a substring of.
        /// </summary>
        public string KeyLike;

        /// <summary>
        /// Filter by case definition category. Exact match.
        /// </summary>
        public string Category;

        /// <summary>
        /// Filter by case definition categories that the parameter is a substring of.
        /// </summary>
        public string CategoryLike;

        /// <summary>
        /// Filter by case definition version.
        /// </summary>
        public int? Version;

        /// <summary>
        /// Only include those case definitions that are latest versions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool LatestVersion = false;

        /// <summary>
        /// Filter by the name of the case definition resource. Exact match.
        /// </summary>
        public string ResourceName;

        /// <summary>
        /// Filter by names of those case definition resources that the parameter is a substring of.
        /// </summary>
        public string ResourceNameLike;

        /// <summary>
        /// Filter by a comma-separated list of tenant ids. A case definition must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds = new List<string>();

        /// <summary>
        /// Only include case definitions which belong to no tenant. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool WithoutTenantId = false;

        /// <summary>
        /// Include case definitions which belong to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as false is the default behavior.
        /// </summary>
        [JsonProperty("includeCaseDefinitionsWithoutTenantId")]
        public bool IncludeDefinitionsWithoutTenantId = false;

        /// <summary>
        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref="SortOrder"/> parameter.
        /// </summary>
        public CaseDefinitionQuerySorting SortBy;

        /// <summary>
        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.
        /// </summary>
        public SortOrder SortOrder;
    }

    public enum CaseDefinitionQuerySorting
    {
        Category,
        Key,
        Id,
        Name,
        Version,
        DeploymentId,
        TenantId
    }
}

================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResource.cs
================================================
using Camunda.Api.Client.CaseInstance;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseDefinition
{
    public abstract class CaseDefinitionResource
    {
        /// <summary>
        /// Retrieves a case definition according to the CaseDefinition interface in the engine.
        /// </summary>
        public abstract Task<CaseDefinitionInfo> Get();

        /// <summary>
        /// Retrieves the CMMN XML of a case definition.
        /// </summary>
        public abstract Task<CaseDefinitionDiagram> GetXml();

        /// <summary>
        /// Retrieves the diagram of a case definition.
        /// </summary>
        /// <returns></returns>
        public abstract Task<HttpContent> GetDiagram();

        /// <summary>
        /// Instantiates a given case definition. Case variables and business key may be supplied in the request body.
        /// </summary>
        public abstract Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters);

        // TODO: Update history time to live
    }
}

================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceById.cs
================================================
using Camunda.Api.Client.CaseInstance;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseDefinition
{
    public class CaseDefinitionResourceById : CaseDefinitionResource
    {
        private ICaseDefinitionRestService _api;
        private string _caseDefinitionId;

        internal CaseDefinitionResourceById(ICaseDefinitionRestService api, string caseDefinitionId)
        {
            _api = api;
            _caseDefinitionId = caseDefinitionId;
        }

        public override Task<CaseDefinitionInfo> Get() => _api.GetById(_caseDefinitionId);

        public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlById(_caseDefinitionId);

        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramById(_caseDefinitionId)).Content;

        public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters) => _api.CreateCaseInstanceById(_caseDefinitionId, parameters);

        public override string ToString() => _caseDefinitionId;
    }
}

================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKey.cs
================================================
using Camunda.Api.Client.CaseInstance;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseDefinition
{
    public class CaseDefinitionResourceByKey : CaseDefinitionResource
    {
        private ICaseDefinitionRestService _api;
        private string _caseDefinitionKey;

        internal CaseDefinitionResourceByKey(ICaseDefinitionRestService api, string caseDefinitionKey)
        {
            _api = api;
            _caseDefinitionKey = caseDefinitionKey;
        }

        public override Task<CaseDefinitionInfo> Get() => _api.GetByKey(_caseDefinitionKey);

        public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlByKey(_caseDefinitionKey);

        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKey(_caseDefinitionKey)).Content;

        public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters) => _api.CreateCaseInstanceByKey(_caseDefinitionKey, parameters);

        public override string ToString() => _caseDefinitionKey;
    }
}

================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKeyAndTenantId.cs
================================================
using Camunda.Api.Client.CaseInstance;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseDefinition
{
    public class CaseDefinitionResourceByKeyAndTenantId : CaseDefinitionResource
    {
        private ICaseDefinitionRestService _api;
        private string _caseDefinitionKey, _tenantId;

        internal CaseDefinitionResourceByKeyAndTenantId(ICaseDefinitionRestService api, string caseDefinitionKey, string tenantId)
        {
            _api = api;
            _caseDefinitionKey = caseDefinitionKey;
            _tenantId = tenantId;
        }

        public override Task<CaseDefinitionInfo> Get() => _api.GetByKeyAndTenantId(_caseDefinitionKey, _tenantId);

        public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlByKeyAndTenantId(_caseDefinitionKey, _tenantId);

        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKeyAndTenantId(_caseDefinitionKey, _tenantId)).Content;

        public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters) => _api.CreateCaseInstanceByKeyAndTenantId(_caseDefinitionKey, _tenantId, parameters);

        public override string ToString() => _caseDefinitionKey;
    }
}

================================================
FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionService.cs
================================================
namespace Camunda.Api.Client.CaseDefinition
{
    public class CaseDefinitionService
    {
        private ICaseDefinitionRestService _api;

        internal CaseDefinitionService(ICaseDefinitionRestService api) { _api = api; }

        public CaseDefinitionResource this[string caseDefinitionId] => new CaseDefinitionResourceById(_api, caseDefinitionId);

        public CaseDefinitionResource ByKey(string caseDefinitionKey) => new CaseDefinitionResourceByKey(_api, caseDefinitionKey);

        public CaseDefinitionResource ByKey(string caseDefinitionKey, string tenantId) => new CaseDefinitionResourceByKeyAndTenantId(_api, caseDefinitionKey, tenantId);

        public QueryResource<CaseDefinitionQuery, CaseDefinitionInfo> Query(CaseDefinitionQuery query = null) =>
            new QueryResource<CaseDefinitionQuery, CaseDefinitionInfo>(
                query, 
                (q, f, m) => _api.GetList(q, f, m),
                q => _api.GetListCount(q));
    }
}


================================================
FILE: Camunda.Api.Client/CaseDefinition/CreateCaseInstance.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseDefinition
{
    public class CreateCaseInstance
    {
        /// <summary>
        /// Object containing the variables the case is to be initialized with. Each key corresponds to a variable name and each value to a variable value.
        /// </summary>
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();

        /// <summary>
        /// The business key the case instance is to be initialized with. The business key uniquely identifies the case instance in the context of the given case definition.
        /// </summary>
        public string BusinessKey;

        public CreateCaseInstance SetVariable(string name, object value)
        {
            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);
            return this;
        }
    }
}

================================================
FILE: Camunda.Api.Client/CaseDefinition/ICaseDefinitionRestService.cs
================================================
using Camunda.Api.Client.CaseInstance;
using Refit;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseDefinition
{
    internal interface ICaseDefinitionRestService
    {
        [Get("/case-definition")]
        Task<List<CaseDefinitionInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);
        [Get("/case-definition/count")]
        Task<CountResult> GetListCount(QueryDictionary query);


        [Get("/case-definition/{id}")]
        Task<CaseDefinitionInfo> GetById(string id);
        [Get("/case-definition/key/{key}")]
        Task<CaseDefinitionInfo> GetByKey(string key);
        [Get("/case-definition/key/{key}/tenant-id/{tenantId}")]
        Task<CaseDefinitionInfo> GetByKeyAndTenantId(string key, string tenantId);


        [Get("/case-definition/{id}/xml")]
        Task<CaseDefinitionDiagram> GetXmlById(string id);
        [Get("/case-definition/key/{key}/xml")]
        Task<CaseDefinitionDiagram> GetXmlByKey(string key);
        [Get("/case-definition/key/{key}/tenant-id/{tenantId}/xml")]
        Task<CaseDefinitionDiagram> GetXmlByKeyAndTenantId(string key, string tenantId);


        [Get("/case-definition/{id}/diagram")]
        Task<HttpResponseMessage> GetDiagramById(string id);
        [Get("/case-definition/key/{key}/diagram")]
        Task<HttpResponseMessage> GetDiagramByKey(string key);
        [Get("/case-definition/key/{key}/tenant-id/{tenantId}/diagram")]
        Task<HttpResponseMessage> GetDiagramByKeyAndTenantId(string key, string tenantId);


        [Post("/case-definition/{id}/create")]
        Task<CaseInstanceInfo> CreateCaseInstanceById(string id, [Body] CreateCaseInstance parameters);
        [Post("/case-definition/key/{key}/create")]
        Task<CaseInstanceInfo> CreateCaseInstanceByKey(string key, [Body] CreateCaseInstance parameters);
        [Post("/case-definition/key/{key}/tenant-id/{tenantId}/create")]
        Task<CaseInstanceInfo> CreateCaseInstanceByKeyAndTenantId(string key, string tenantId, [Body] CreateCaseInstance parameters);
    }
}


================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionComplete.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionComplete
    {
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();

        // TODO: deletions
    }
}

================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionDisable.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionDisable
    {
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();

        // TODO: deletions
    }
}

================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionInfo.cs
================================================
namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionInfo
    {
        /// <summary>
        /// The id of the case execution.
        /// </summary>
        public string Id;

        /// <summary>
        /// A flag indicating whether the case execution is active or not.
        /// </summary>
        public bool Active;

        /// <summary>
        /// The description of the activity this case execution belongs to.
        /// </summary>
        public string ActivityDescription;

        /// <summary>
        /// The id of the activity this case execution belongs to.
        /// </summary>
        public string ActivityId;

        /// <summary>
        /// The name of the activity this case execution belongs to.
        /// </summary>
        public string ActivityName;

        /// <summary>
        /// The type of the activity this case execution belongs to.
        /// </summary>
        public string ActivityType;

        /// <summary>
        /// The id of the case definition this case execution belongs to.
        /// </summary>
        public string CaseDefinitionId;

        /// <summary>
        /// The id of the case instance this case execution belongs to.
        /// </summary>
        public string CaseInstanceId;

        /// <summary>
        /// A flag indicating whether the case execution is disabled or not.
        /// </summary>
        public bool Disabled;

        /// <summary>
        /// A flag indicating whether the case execution is enabled or not.
        /// </summary>
        public bool Enabled;

        /// <summary>
        /// The id of the parent of this case execution belongs to.
        /// </summary>
        public string ParentId;

        /// <summary>
        /// A flag indicating whether the case execution is repeatable or not.
        /// </summary>
        public bool Repeatable;

        /// <summary>
        /// A flag indicating whether the case execution is a repetition or not.
        /// </summary>
        public bool Repetition;

        /// <summary>
        /// A flag indicating whether the case execution is required or not.
        /// </summary>
        public bool Required;

        /// <summary>
        /// The tenant id of the case execution.
        /// </summary>
        public string TenantId;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionQuery.cs
================================================
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionQuery : QueryParameters
    {
        /// <summary>
        /// Filter by a case execution id.
        /// </summary>
        public string CaseExecutionId;

        /// <summary>
        /// Filter by a case instance id.
        /// </summary>
        public string CaseInstanceId;

        /// <summary>
        /// Filter by the business key of the case instances the case executions belong to.
        /// </summary>
        public string BusinessKey;

        /// <summary>
        /// Filter by the case definition the case executions run on.
        /// </summary>
        public string CaseDefinitionId;

        /// <summary>
        /// Filter by the key of the case definition the case executions run on.
        /// </summary>
        public string CaseDefinitionKey;

        /// <summary>
        /// Filter by the id of the activity the case execution currently executes.
        /// </summary>
        public string ActivityId;

        /// <summary>
        /// Only include required case executions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool? Required;

        /// <summary>
        /// Only include repeatable case executions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool? Repeatable;

        /// <summary>
        /// Only include case executions which are repetitions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool? Repetition;

        /// <summary>
        /// Only include active case executions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool? Active;

        /// <summary>
        /// Only include enabled case executions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool? Enabled;

        /// <summary>
        /// Only include disabled case executions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool? Disabled;

        /// <summary>
        /// Filter by a comma-separated list of tenant ids. A case execution must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds = new List<string>();

        /// <summary>
        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref="SortOrder"/> parameter.
        /// </summary>
        public CaseExecutionQuerySorting SortBy;

        /// <summary>
        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.
        /// </summary>
        public SortOrder SortOrder;
    }

    public enum CaseExecutionQuerySorting
    {
        CaseExecutionId,
        CaseDefinitionKey,
        CaseDefinitionId,
        TenantId
    }
}


================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionReEnable.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionReEnable
    {
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();

        // TODO: deletions
    }
}

================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionResource
    {
        private ICaseExecutionRestService _api;
        private string _caseExecutionId;

        internal CaseExecutionResource(ICaseExecutionRestService api, string caseExecutionId)
        {
            _api = api;
            _caseExecutionId = caseExecutionId;
        }

        // TODO: Variables, LocalVariables


        /// <summary>
        /// Retrieves a case execution by id, according to the CaseExecution interface in the engine.
        /// </summary>
        public Task<CaseExecutionInfo> Get() => _api.Get(_caseExecutionId);

        /// <summary>
        /// Performs a transition from ENABLED state to ACTIVE state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        public Task Start(CaseExecutionStart start) => _api.StartExecution(_caseExecutionId, start);

        /// <summary>
        /// Performs a transition from ACTIVE state to COMPLETED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        public Task Complete(CaseExecutionComplete complete) => _api.CompleteExecution(_caseExecutionId, complete);

        /// <summary>
        /// Performs a transition from ENABLED state to DISABLED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        public Task Disable(CaseExecutionDisable disable) => _api.DisableExecution(_caseExecutionId, disable);

        /// <summary>
        /// Performs a transition from DISABLED state to ENABLED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        public Task ReEnable(CaseExecutionReEnable reEnable) => _api.ReEnableExecution(_caseExecutionId, reEnable);

        /// <summary>
        /// Performs a transition from ACTIVE state to TERMINATED state if the execution belongs to a task or a stage and performs a transition from AVAILABLE state to TERMINATED state if the execution belongs to a milestone. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        public Task Terminate(CaseExecutionTerminate terminate) => _api.TerminateExecution(_caseExecutionId, terminate);
    }
}


================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionService.cs
================================================
namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionService
    {
        private ICaseExecutionRestService _api;

        internal CaseExecutionService(ICaseExecutionRestService api)
        {
            _api = api;
        }

        public CaseExecutionResource this[string caseExecutionId] => new CaseExecutionResource(_api, caseExecutionId);

        public QueryResource<CaseExecutionQuery, CaseExecutionInfo> Query(CaseExecutionQuery query = null) =>
            new QueryResource<CaseExecutionQuery, CaseExecutionInfo>(
                query,
                (q, f, m) => _api.GetList(q, f, m),
                q => _api.GetListCount(q));
    }
}

================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionStart.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionStart
    {
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();

        // TODO: deletions
    }
}

================================================
FILE: Camunda.Api.Client/CaseExecution/CaseExecutionTerminate.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.CaseExecution
{
    public class CaseExecutionTerminate
    {
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();

        // TODO: deletions
    }
}

================================================
FILE: Camunda.Api.Client/CaseExecution/ICaseExecutionRestService.cs
================================================
using Refit;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseExecution
{
    internal interface ICaseExecutionRestService
    {
        [Get("/case-execution")]
        Task<List<CaseExecutionInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);
        [Get("/case-execution/count")]
        Task<CountResult> GetListCount(QueryDictionary query);

        [Get("/case-execution/{id}")]
        Task<CaseExecutionInfo> Get(string id);

        [Post("/case-execution/{id}/manual-start")]
        Task StartExecution(string id, [Body]CaseExecutionStart start);

        [Post("/case-execution/{id}/complete")]
        Task CompleteExecution(string id, [Body]CaseExecutionComplete complete);

        [Post("/case-execution/{id}/disable")]
        Task DisableExecution(string id, [Body]CaseExecutionDisable disable);

        [Post("/case-execution/{id}/reenable")]
        Task ReEnableExecution(string id, [Body]CaseExecutionReEnable reenable);

        [Post("/case-execution/{id}/terminate")]
        Task TerminateExecution(string id, [Body]CaseExecutionTerminate terminate);
    }
}

================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceDeleteVariable.cs
================================================
#region Usings

using Newtonsoft.Json;

#endregion

namespace Camunda.Api.Client.CaseInstance
{
    public class CaseInstanceDeleteVariable
    {
        [JsonProperty("name")]
        public string Name;
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceInfo.cs
================================================
namespace Camunda.Api.Client.CaseInstance
{
    public class CaseInstanceInfo
    {
        /// <summary>
        /// The id of the case instance.
        /// </summary>
        public string Id;

        /// <summary>
        /// A flag indicating whether the case instance is active or not.
        /// </summary>
        public bool Active;

        /// <summary>
        /// The business key of the case instance.
        /// </summary>
        public string BusinessKey;

        /// <summary>
        /// The id of the case definition that this case instance belongs to.
        /// </summary>
        public string CaseDefinitionId;

        /// <summary>
        /// A flag indicating whether the case instance is completed or not.
        /// </summary>
        public bool Completed;

        /// <summary>
        /// The tenant id of the case instance.
        /// </summary>
        public string TenantId;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceQuery.cs
================================================
#region Usings

using System.Collections.Generic;
using Newtonsoft.Json;

#endregion

namespace Camunda.Api.Client.CaseInstance
{
    public class CaseInstanceQuery
    {
        [JsonProperty("caseInstanceId")]
        public string CaseInstanceId;

        [JsonProperty("businessKey")]
        public string BusinessKey;

        [JsonProperty("caseDefinitionId")]
        public string CaseDefinitionId;

        [JsonProperty("caseDefinitionKey")]
        public string CaseDefinitionKey;

        [JsonProperty("deploymentId")]
        public string DeploymentId;

        [JsonProperty("superProcessInstance")]
        public string SuperProcessInstance;

        [JsonProperty("subProcessInstance")]
        public string SubProcessInstance;

        [JsonProperty("superCaseInstance")]
        public string SuperCaseInstance;

        [JsonProperty("subCaseInstance")]
        public string SubCaseInstance;

        [JsonProperty("active")]
        public bool? Active;

        [JsonProperty("completed")]
        public bool? Completed;

        [JsonProperty("tenantIdIn")]
        public List<string> TenantIdIn;

        [JsonProperty("withoutTenantId")]
        public bool? WithoutTenantId;

        [JsonProperty("variables")]
        public List<CaseInstanceQueryVariable> Variables;

        [JsonProperty("variableNamesIgnoreCase")]
        public bool VariableNamesIgnoreCase;

        [JsonProperty("variableValuesIgnoreCase")]
        public bool VariableValuesIgnoreCase;

        [JsonProperty("sorting")]
        public List<CaseInstanceSorting> Sorting;
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceQueryVariable.cs
================================================
#region Usings

using Newtonsoft.Json;

#endregion

namespace Camunda.Api.Client.CaseInstance
{
    public class CaseInstanceQueryVariable
    {
        [JsonProperty("name")]
        public string Name;

        [JsonProperty("operator")]
        public ConditionOperator Operator;

        [JsonProperty("value")] 
        public object Value;
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceResource.cs
================================================
#region Usings

using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;

#endregion

namespace Camunda.Api.Client.CaseInstance
{
    public class CaseInstanceResource
    {
        private string _caseInstanceId;
        private ICaseInstanceRestService _api;

        internal CaseInstanceResource(ICaseInstanceRestService api, string caseInstanceId)
        {
            _api = api;
            _caseInstanceId = caseInstanceId;
        }

        /// <summary>
        /// Retrieves a case instance by id, according to the CaseInstance interface in the engine.
        /// </summary>
        /// <returns>corresponding case instance basis info</returns>
        public Task<CaseInstanceInfo> Get() => _api.Get(_caseInstanceId);

        /// <summary>
        /// Performs a transition from ACTIVE state to COMPLETED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        /// <param name="completeCaseInstanceState">contains variables to delete or update</param>
        /// <returns></returns>
        public Task Complete(ChangeCaseInstanceState completeCaseInstanceState) =>
            _api.Complete(_caseInstanceId, completeCaseInstanceState);

        /// <summary>
        /// Performs a transition from COMPLETED state to CLOSED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        /// <param name="closeCaseInstanceState">contains variables to delete or update</param>
        /// <returns></returns>
        public Task Close(ChangeCaseInstanceState closeCaseInstanceState) =>
            _api.Close(_caseInstanceId, closeCaseInstanceState);

        /// <summary>
        /// Performs a transition from ACTIVE state to TERMINATED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).
        /// </summary>
        /// <param name="terminateCaseInstanceState">contains variables to delete or update</param>
        /// <returns></returns>
        public Task Terminate(ChangeCaseInstanceState terminateCaseInstanceState) =>
            _api.Terminate(_caseInstanceId, terminateCaseInstanceState);


        public VariableResource Variables => new VariableResource(_api, _caseInstanceId);

        public override string ToString() => _caseInstanceId;
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceService.cs
================================================
namespace Camunda.Api.Client.CaseInstance
{
    public class CaseInstanceService
    {
        private ICaseInstanceRestService _api;

        internal CaseInstanceService(ICaseInstanceRestService api)
        {
            _api = api;
        }

        public QueryResource<CaseInstanceQuery, CaseInstanceInfo> Query(CaseInstanceQuery query = null) =>
            new QueryResource<CaseInstanceQuery, CaseInstanceInfo>(query, _api.GetList, _api.GetListCount);

        /// <param name="caseInstanceId">Id of specific case instance</param>
        public CaseInstanceResource this[string caseInstanceId] => new CaseInstanceResource(_api, caseInstanceId);
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceSorting.cs
================================================
namespace Camunda.Api.Client.CaseInstance
{
    public enum CaseInstanceSorting
    {
        CaseInstanceId,
        CaseDefinitionKey,
        CaseDefinitionId,
        TenantId
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/CaseInstanceVariableValue.cs
================================================
#region Usings

using Newtonsoft.Json;

#endregion

namespace Camunda.Api.Client.CaseInstance
{
    public class CaseInstanceVariableValue : VariableValue
    {
        [JsonProperty("local")]
        public bool Local;
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/ChangeCaseInstanceState.cs
================================================
#region Usings

using System.Collections.Generic;
using Newtonsoft.Json;

#endregion

namespace Camunda.Api.Client.CaseInstance
{
    public class ChangeCaseInstanceState
    {
        [JsonProperty("variables")]
        public Dictionary<string, CaseInstanceVariableValue> Variables;

        [JsonProperty("deletions")]
        public List<CaseInstanceDeleteVariable> Deletions;
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/ICaseInstanceRestService.cs
================================================
#region Usings

using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Refit;

#endregion

namespace Camunda.Api.Client.CaseInstance
{
    internal interface ICaseInstanceRestService
    {
        [Get("/case-instance/{id}/variables")]
        Task<Dictionary<string, VariableValue>> GetVariables(string id, bool? deserializeValues);

        [Get("/case-instance/{id}/variables/{varName}")]
        Task<VariableValue> GetVariableValue(string id, string varName, bool? deserializeValue);

        // TODO: check if HttpWebResponse is indeed the correct return type
        [Get("/case-instance/{id}/variables/{varName}/data")]
        Task<HttpResponseMessage> GetBinaryVariable(string id, string varName);

        [Post("/case-instance/{id}/variables")]
        Task ModifyVariables(string id, [Body] PatchVariables patch);

        [Put("/case-instance/{id}/variables/{varName}")]
        Task UpdateVariable(string id, string varName, [Body] VariableValue value);

        [Post("/case-instance/{id}/variables/{varName}/data")]
        Task SetBinaryVariable(string id, string varName, BinaryDataContent data, ValueTypeContent valueType);

        [Delete("/case-instance/{id}/variables/{varName}")]
        Task DeleteVariable(string id, string varName);

        [Get("/case-instance/{id}")]
        Task<CaseInstanceInfo> Get(string id);

        [Post("/case-instance")]
        Task<List<CaseInstanceInfo>> GetList([Body] CaseInstanceQuery query, int? firstResult, int? maxResults);

        [Post("/case-instance/count")]
        Task<CountResult> GetListCount([Body] CaseInstanceQuery query);

        [Post("/case-instance/{id}/complete")]
        Task Complete(string id, [Body] ChangeCaseInstanceState completeCaseInstance);

        [Post("/case-instance/{id}/close")]
        Task Close(string id, [Body] ChangeCaseInstanceState closeCaseInstance);

        [Post("/case-instance/{id}/terminate")]
        Task Terminate(string id, [Body] ChangeCaseInstanceState terminateCaseInstance);
    }
}


================================================
FILE: Camunda.Api.Client/CaseInstance/VariableResource.cs
================================================
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.CaseInstance
{
    public class VariableResource : IVariableResource
    {
        private string _caseInstanceId;
        private ICaseInstanceRestService _api;

        internal VariableResource(ICaseInstanceRestService api, string caseInstanceId)
        {
            _api = api;
            _caseInstanceId = caseInstanceId;
        }

        /// <summary>
        /// Retrieves all variables of a given case instance.
        /// </summary>
        /// <param name="deserializeValues">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>
        public Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValues = true) => _api.GetVariables(_caseInstanceId, deserializeValues);
        /// <summary>
        /// Retrieves a variable from the context of a given case instance.
        /// </summary>
        public Task<VariableValue> Get(string variableName, bool deserializeValue = true) => _api.GetVariableValue(_caseInstanceId, variableName, deserializeValue);
        /// <summary>
        /// Retrieves a binary variable from the context of a given case instance. Applicable for byte array and file variables.
        /// </summary>
        public async Task<HttpContent> GetBinary(string variableName) => (await _api.GetBinaryVariable(_caseInstanceId, variableName)).Content;
        /// <summary>
        /// Sets a variable in the context of a given case instance.
        /// </summary>
        public Task Set(string variableName, VariableValue variable) => _api.UpdateVariable(_caseInstanceId, variableName, variable);
        /// <summary>
        /// Sets the serialized value for a binary variable or the binary value for a file variable.
        /// </summary>
        public Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType) => _api.SetBinaryVariable(_caseInstanceId, variableName, data, new ValueTypeContent(valueType.ToString()));
        /// <summary>
        /// Removes a variable from a case instance.
        /// </summary>
        public Task Delete(string variableName) => _api.DeleteVariable(_caseInstanceId, variableName);
        /// <summary>
        /// Updates or deletes the variables in the context of a case instance. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.
        /// </summary>
        public Task Modify(PatchVariables patch) => _api.ModifyVariables(_caseInstanceId, patch);

        public override string ToString() => _caseInstanceId;
    }
}


================================================
FILE: Camunda.Api.Client/ConditionQueryParameter.cs
================================================
using System.Runtime.Serialization;

namespace Camunda.Api.Client
{
    public class ConditionQueryParameter
    {
        /// <summary>
        /// Comparison operator to be used.
        /// </summary>
        public ConditionOperator Operator;

        /// <summary>
        /// Value may be String, Number or Boolean
        /// </summary>
        public object Value;
    }

    public enum ConditionOperator
    {
        [EnumMember(Value = "eq")]
        Equals,
        [EnumMember(Value = "neq")]
        NotEquals,
        [EnumMember(Value = "gt")]
        GreaterThan,
        [EnumMember(Value = "gteq")]
        GreaterThanOrEquals,
        [EnumMember(Value = "lt")]
        LessThan,
        [EnumMember(Value = "lteq")]
        LessThanOrEquals,
        [EnumMember(Value = "like")]
        Like
    }
}


================================================
FILE: Camunda.Api.Client/CountResult.cs
================================================
namespace Camunda.Api.Client
{
    internal class CountResult
    {
        /// <summary>
        /// The number of matching items.
        /// </summary>
        public int Count = 0;
    }
}


================================================
FILE: Camunda.Api.Client/DateTimeExtensions.cs
================================================
using System;
using System.Globalization;
using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("Camunda.Api.Client.Tests,PublicKey=" +
"00240000048000009400000006020000002400005253413100040000010001004196a3758b909b" +
"46774069391580d90f2078e831d76f42a00c3d584321fd9b394b12d3a46eab643bc339f526d1d9" +
"5f7450cfd7a0a0316ce2eea145b9d9013f6b677aac1333d94007c79c33e2804af6a749c732ac45" +
"90f17f078d33445a25c45598f744f0774d2c3d82e2a8b0309203be7e3d0b719f7825d4ded4577b" +
"435db7ae")]
namespace Camunda.Api.Client
{
    internal static class DateTimeExtensions
    {
        const string _dateTimeFormat = "yyyy-MM-ddTHH':'mm':'ss.fff";

        public static string ToJavaISO8601(this DateTime dateTime)
        {
            if (dateTime.Kind == DateTimeKind.Unspecified) // treat unspecified time as local time
                dateTime = new DateTime(dateTime.Ticks, DateTimeKind.Local);
            return dateTime.ToString(_dateTimeFormat, CultureInfo.InvariantCulture)
                + dateTime.ToString("%K").Replace(":", "").Replace("Z", "+0000");
        }
    }
}


================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionDiagram.cs
================================================
namespace Camunda.Api.Client.DecisionDefinition
{
    public class DecisionDefinitionDiagram
    {
        /// <summary>
        /// The id of the decision definition.
        /// </summary>
        public string Id;

        /// <summary>
        /// An escaped XML string containing the XML that this decision definition was deployed with. Carriage returns, line feeds and quotation marks are escaped.
        /// </summary>
        public string DmnXml;

        public override string ToString() => Id;
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionInfo.cs
================================================
namespace Camunda.Api.Client.DecisionDefinition
{
    public class DecisionDefinitionInfo
    {
        /// <summary>
        /// The id of the decision definition.
        /// </summary>
        public string Id;

        /// <summary>
        /// The category of the decision definition.
        /// </summary>
        public string Category;

        /// <summary>
        /// The id of the decision requirements definition this decision definition belongs to.
        /// </summary>
        public string DecisionRequirementsDefinitionId;

        /// <summary>
        /// The key of the decision requirements definition this decision definition belongs to.
        /// </summary>
        public string DecisionRequirementsDefinitionKey;

        /// <summary>
        /// The deployment id of the decision definition.
        /// </summary>
        public string DeploymentId;

        /// <summary>
        /// History time to live value of the decision definition. Is used within LINK.
        /// </summary>
        public int HistoryTimeToLive;

        /// <summary>
        /// The key of the decision definition, i.e., the id of the DMN 1.0 XML decision definition.
        /// </summary>
        public string Key;

        /// <summary>
        /// The name of the decision definition.
        /// </summary>
        public string Name;

        /// <summary>
        /// The file name of the decision definition.
        /// </summary>
        public string Resource;

        /// <summary>
        /// The tenant id of the decision definition.
        /// </summary>
        public string TenantId;

        /// <summary>
        /// The version of the decision definition that the engine assigned to it.
        /// </summary>
        public int Version;

        /// <summary>
        /// The version tag of the decision or null when no version tag is set
        /// </summary>
        public string VersionTag;

        /// <summary>
        /// Filter by the version tag that the parameter is a substring of.
        /// </summary>
        public string VersionTagLike;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionQuery.cs
================================================
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Camunda.Api.Client.DecisionDefinition
{
    public class DecisionDefinitionQuery : QueryParameters
    {
        /// <summary>
        /// Filter by decision definition id.
        /// </summary>
        public string DecisionDefinitionId;

        /// <summary>
        /// Filter by decision definition ids.
        /// </summary>
        [JsonProperty("decisionDefinitionIdIn")]
        public List<string> DecisionDefinitionIds = new List<string>();

        /// <summary>
        /// Filter by decision definition name.
        /// </summary>
        public string Name;

        /// <summary>
        /// Filter by decision definition names that the parameter is a substring of.
        /// </summary>
        public string NameLike;

        /// <summary>
        /// Filter by the deployment the id belongs to.
        /// </summary>
        public string DeploymentId;

        /// <summary>
        /// Filter by decision definition key, i.e.the id in the DMN 1.0 XML.Exact match.
        /// </summary>
        public string Key;

        /// <summary>
        /// Filter by decision definition keys that the parameter is a substring of.
        /// </summary>
        public string KeyLike;

        /// <summary>
        /// Filter by decision definition category. Exact match.
        /// </summary>
        public string Category;

        /// <summary>
        /// Filter by decision definition categories that the parameter is a substring of.
        /// </summary>
        public string CategoryLike;

        /// <summary>
        /// Filter by decision definition version.
        /// </summary>
        public int? Version;

        /// <summary>
        /// Only include those decision definitions that are latest versions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool LatestVersion = false;

        /// <summary>
        /// Filter by the name of the decision definition resource. Exact match.
        /// </summary>
        public string ResourceName;

        /// <summary>
        /// Filter by names of those decision definition resources that the parameter is a substring of.
        /// </summary>
        public string ResourceNameLike;

        /// <summary>
        /// Filter by a comma-separated list of tenant ids.A decision definition must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds = new List<string>();

        /// <summary>
        /// Only include decision definitions which belongs to no tenant. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool WithoutTenantId = false;

        /// <summary>
        /// Include decision definitions which belongs to no tenant.Can be used in combination with tenantIdIn.Value may only be true, as false is the default behavior.
        /// </summary>
        [JsonProperty("includeDecisionDefinitionsWithoutTenantId")]
        public bool IncludeDefinitionsWithoutTenantId = false;

        /// <summary>
        /// Sort the results lexicographically by a given criterion.Valid values are category, key, id, name, version, deploymentId and tenantId.Must be used in conjunction with the sortOrder parameter.
        /// </summary>
        public DecisionDefinitionSorting SortBy;

        /// <summary>
        /// Sort the results in a given order.Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.
        /// </summary>
        public SortOrder SortOrder;
    }

    public enum DecisionDefinitionSorting
    {
        Category,
        Key,
        Id,
        Name,
        Version,
        DeploymentId,
        TenantId
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResource.cs
================================================
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.DecisionDefinition
{
    public abstract class DecisionDefinitionResource
    {
        /// <summary>
        /// Retrieves a single decision definition according to the DecisionDefinition interface in the engine.
        /// </summary>
        public abstract Task<DecisionDefinitionInfo> Get();

        /// <summary>
        /// Retrieves the DMN XML of this decision definition.
        /// </summary>
        public abstract Task<DecisionDefinitionDiagram> GetXml();

        /// <summary>
        /// Retrieves the diagram of a decision definition.
        /// </summary>
        public abstract Task<HttpContent> GetDiagram();

        /// <summary>
        /// Evaluates a given decision and returns the result. The input values of the decision have to be supplied in the request body.
        /// </summary>
        public abstract Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters);
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceById.cs
================================================
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.DecisionDefinition
{
    public class DecisionDefinitionResourceById : DecisionDefinitionResource
    {
        private IDecisionDefinitionRestService _api;
        private string _decisionDefinitionId;

        internal DecisionDefinitionResourceById(IDecisionDefinitionRestService api, string decisionDefinitionId)
        {
            _api = api;
            _decisionDefinitionId = decisionDefinitionId;
        }

        public override Task<DecisionDefinitionInfo> Get() => _api.GetById(_decisionDefinitionId);

        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramById(_decisionDefinitionId)).Content;

        public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXmlById(_decisionDefinitionId);

        public override Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters) => _api.EvaluateById(_decisionDefinitionId, parameters);
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKey.cs
================================================
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.DecisionDefinition
{
    public class DecisionDefinitionResourceByKey : DecisionDefinitionResource
    {
        private IDecisionDefinitionRestService _api;
        private string _decisionDefinitionKey;

        internal DecisionDefinitionResourceByKey(IDecisionDefinitionRestService api, string decisionDefinitionKey)
        {
            _api = api;
            _decisionDefinitionKey = decisionDefinitionKey;
        }

        public override Task<DecisionDefinitionInfo> Get() => _api.GetByKey(_decisionDefinitionKey);

        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKey(_decisionDefinitionKey)).Content;

        public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXmlByKey(_decisionDefinitionKey);

        public override Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters) => _api.EvaluateByKey(_decisionDefinitionKey, parameters);
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKeyAndTenantId.cs
================================================
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.DecisionDefinition
{
    public class DecisionDefinitionResourceByKeyAndTenantId : DecisionDefinitionResource
    {
        private IDecisionDefinitionRestService _api;
        private string _decisionDefinitionKey, _tenantId;

        internal DecisionDefinitionResourceByKeyAndTenantId(IDecisionDefinitionRestService api, string decisionDefinitionKey, string tenantId)
        {
            _api = api;
            _decisionDefinitionKey = decisionDefinitionKey;
            _tenantId = tenantId;
        }

        public override Task<DecisionDefinitionInfo> Get() => _api.GetByKeyAndTenantId(_decisionDefinitionKey, _tenantId);

        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKeyAndTenantId(_decisionDefinitionKey, _tenantId)).Content;

        public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXmlByKeyAndTenantId(_decisionDefinitionKey, _tenantId);

        public override Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters) => _api.EvaluateByKeyAndTenantId(_decisionDefinitionKey, _tenantId, parameters);
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionService.cs
================================================
namespace Camunda.Api.Client.DecisionDefinition
{
    public class DecisionDefinitionService
    {
        private IDecisionDefinitionRestService _api;

        internal DecisionDefinitionService(IDecisionDefinitionRestService api)
        {
            _api = api;
        }

        public DecisionDefinitionResource this[string decisionDefinitionId] => new DecisionDefinitionResourceById(_api, decisionDefinitionId);

        public DecisionDefinitionResource ByKey(string decisionDefinitionKey) => new DecisionDefinitionResourceByKey(_api, decisionDefinitionKey);

        public DecisionDefinitionResource ByKey(string decisionDefinitionKey, string tenantId) => new DecisionDefinitionResourceByKeyAndTenantId(_api, decisionDefinitionKey, tenantId);

        public QueryResource<DecisionDefinitionQuery, DecisionDefinitionInfo> Query(
            DecisionDefinitionQuery query = null) =>
            new QueryResource<DecisionDefinitionQuery, DecisionDefinitionInfo>(
                query,
                (q, f, m) => _api.GetList(q, f, m), 
                q => _api.GetListCount(q));
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/EvaluateDecision.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.DecisionDefinition
{
    public class EvaluateDecision
    {
        /// <summary>
        /// Object containing the variables the decision is to be evaluated with. Each key corresponds to a variable name and each value to a variable value.
        /// </summary>
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();

        public EvaluateDecision SetVariable(string name, object value)
        {
            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);
            return this;
        }
    }
}

================================================
FILE: Camunda.Api.Client/DecisionDefinition/IDecisionDefinitionRestService.cs
================================================
using Refit;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.DecisionDefinition
{
    internal interface IDecisionDefinitionRestService
    {
        [Get("/decision-definition")]
        Task<List<DecisionDefinitionInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);

        [Get("/decision-definition/count")]
        Task<CountResult> GetListCount(QueryDictionary query);


        [Get("/decision-definition/{id}")]
        Task<DecisionDefinitionInfo> GetById(string id);
        [Get("/decision-definition/key/{key}")]
        Task<DecisionDefinitionInfo> GetByKey(string key);
        [Get("/decision-definition/key/{key}/tenant-id/{tenantId}")]
        Task<DecisionDefinitionInfo> GetByKeyAndTenantId(string key, string tenantId);


        [Get("/decision-definition/{id}/xml")]
        Task<DecisionDefinitionDiagram> GetXmlById(string id);
        [Get("/decision-definition/key/{key}/xml")]
        Task<DecisionDefinitionDiagram> GetXmlByKey(string key);
        [Get("/decision-definition/key/{key}/tenant-id/{tenantId}/xml")]
        Task<DecisionDefinitionDiagram> GetXmlByKeyAndTenantId(string key, string tenantId);


        [Get("/decision-definition/{id}/diagram")]
        Task<HttpResponseMessage> GetDiagramById(string id);
        [Get("/decision-definition/key/{key}/diagram")]
        Task<HttpResponseMessage> GetDiagramByKey(string key);
        [Get("/decision-definition/key/{key}/tenant-id/{tenantId}/diagram")]
        Task<HttpResponseMessage> GetDiagramByKeyAndTenantId(string key, string tenantId);


        [Post("/decision-definition/{id}/evaluate")]
        Task<List<Dictionary<string, VariableValue>>> EvaluateById(string id, [Body] EvaluateDecision parameters);
        [Post("/decision-definition/key/{key}/evaluate")]
        Task<List<Dictionary<string, VariableValue>>> EvaluateByKey(string key, [Body] EvaluateDecision parameters);
        [Post("/decision-definition/key/{key}/tenant-id/{tenantId}/evaluate")]
        Task<List<Dictionary<string, VariableValue>>> EvaluateByKeyAndTenantId(string key, string tenantId, [Body] EvaluateDecision parameters);
    }
}


================================================
FILE: Camunda.Api.Client/Deployment/DeploymentInfo.cs
================================================
using System;

namespace Camunda.Api.Client.Deployment
{
    public class DeploymentInfo
    {
        /// <summary>
        /// The id of the deployment.
        /// </summary>
        public string Id;
        /// <summary>
        /// The name of the deployment.
        /// </summary>
        public string Name;
        /// <summary>
        /// The source of the deployment.
        /// </summary>
        public string Source;
        /// <summary>
        /// The time when the deployment was created.
        /// </summary>
        public DateTime DeploymentTime;
        /// <summary>
        /// The tenant id of the deployment.
        /// </summary>
        public string TenantId;

        public override string ToString() => Name ?? Id;

    }
}


================================================
FILE: Camunda.Api.Client/Deployment/DeploymentQuery.cs
================================================
using Newtonsoft.Json;
using System;
using System.Collections.Generic;

namespace Camunda.Api.Client.Deployment
{
    public class DeploymentQuery : QueryParameters
    {
        /// <summary>
        /// Filter by deployment id.
        /// </summary>
        public string Id;
        /// <summary>
        /// Filter by the deployment name. Exact match.
        /// </summary>
        public string Name;
        /// <summary>
        /// Filter by the deployment name that the parameter is a substring of. The parameter can include the wildcard % to express like-strategy such as: starts with (%name), ends with (name%) or contains (%name%).
        /// </summary>
        public string NameLike;
        /// <summary>
        /// Filter by the deployment source.
        /// </summary>
        public string Source;
        /// <summary>
        /// Filter by the deployment source whereby source is equal to null.
        /// </summary>
        public bool WithoutSource;
        /// <summary>
        /// Restricts to all deployments before the given date.
        /// </summary>
        public DateTime? Before;
        /// <summary>
        /// Restricts to all deployments after the given date.
        /// </summary>
        public DateTime? After;
        /// <summary>
        /// Filter by a comma-separated list of tenant ids. A deployment must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds = new List<string>();
        /// <summary>
        /// Only include deployments which belongs to no tenant. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool WithoutTenantId;
        /// <summary>
        /// Include deployments which belongs to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool IncludeDeploymentsWithoutTenantId;
        /// <summary>
        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref="SortOrder"/> parameter.
        /// </summary>
        public DeploymentSorting SortBy;
        /// <summary>
        /// Sort the results in a given order. Must be used in conjunction with the <see cref="SortBy"/> parameter.
        /// </summary>
        public SortOrder SortOrder;
    }

    public enum DeploymentSorting
    {
        Id,
        Name,
        DeploymentTime,
        TenantId
    }
}


================================================
FILE: Camunda.Api.Client/Deployment/DeploymentResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.Deployment
{
    public class DeploymentResource
    {
        private IDeploymentRestService _api;
        private string _deploymentId;

        internal DeploymentResource(IDeploymentRestService api, string deploymentId)
        {
            _api = api;
            _deploymentId = deploymentId;
        }

        /// <summary>
        /// Retrieves a single deployment by id.
        /// </summary>
        public Task<DeploymentInfo> Get() => _api.Get(_deploymentId);

        public DeploymentResourcesResource Resources => new DeploymentResourcesResource(_api, _deploymentId);

        /// <summary>
        /// Re-deploy an existing deployment.
        /// </summary>
        /// <remarks>
        /// The deployment resources to re-deploy can be restricted by using the properties resourceIds or resourceNames. 
        /// If no deployment resources to re-deploy are passed then all existing resources of the given deployment are re-deployed.
        /// </remarks>
        public Task<DeploymentInfo> Redeploy(RedeploymentInfo redeployment) => _api.Redeploy(_deploymentId, redeployment);

        /// <summary>
        /// // Deletes a deployment.
        /// </summary>
        /// <param name="cascade">true, if all process instances, historic process instances and jobs for this deployment should be deleted.</param>
        /// <param name="skipCustomListeners">true, if only the built-in ExecutionListeners should be notified with the end event.</param>
        /// <param name="skipIoMappings">true, if all input/output mappings should not be invoked.</param>
        public Task Delete(bool cascade = false, bool skipCustomListeners = false, bool skipIoMappings = false) => _api.Delete(_deploymentId, 
            cascade, skipCustomListeners, skipIoMappings);

        public override string ToString() => _deploymentId;
    }
}


================================================
FILE: Camunda.Api.Client/Deployment/DeploymentResourceInfo.cs
================================================

namespace Camunda.Api.Client.Deployment
{
    public class DeploymentResourceInfo
    {
        /// <summary>
        /// The id of the deployment resource.
        /// </summary>
        public string Id;
        /// <summary>
        /// The name of the deployment resource.
        /// </summary>
        public string Name;
        /// <summary>
        /// The id of the deployment.
        /// </summary>
        public string DeploymentId;

        public override string ToString() => Name ?? Id;
    }
}


================================================
FILE: Camunda.Api.Client/Deployment/DeploymentResourcesResource.cs
================================================
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Deployment
{
    public class DeploymentResourcesResource
    {
        private IDeploymentRestService _api;
        private string _deploymentId;

        internal DeploymentResourcesResource(IDeploymentRestService api, string deploymentId)
        {
            _api = api;
            _deploymentId = deploymentId;
        }

        /// <summary>
        /// Retrieves all deployment resources of a given deployment.
        /// </summary>
        public Task<List<DeploymentResourceInfo>> GetAll() => _api.GetDeploymentResources(_deploymentId);

        /// <summary>
        /// Retrieves a single deployment resource by resource id for the given deployment.
        /// </summary>
        public Task<DeploymentResourceInfo> Get(string resourceId) => _api.GetDeploymentResource(_deploymentId, resourceId);

        /// <summary>
        /// Retrieves the binary content of a single deployment resource for the given deployment.
        /// </summary>
        public async Task<HttpContent> GetData(string resourceId) => (await _api.GetDeploymentResourceData(_deploymentId, resourceId)).Content;

        public override string ToString() => _deploymentId;
    }
}


================================================
FILE: Camunda.Api.Client/Deployment/DeploymentService.cs
================================================
using System.Linq;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Deployment
{
    public class DeploymentService
    {
        private IDeploymentRestService _api;

        internal DeploymentService(IDeploymentRestService api) { _api = api; }

        public DeploymentResource this[string deploymentId] => new DeploymentResource(_api, deploymentId);

        public QueryResource<DeploymentQuery, DeploymentInfo> Query(DeploymentQuery query = null) =>
            new QueryResource<DeploymentQuery, DeploymentInfo>(
                query,
                (q, f, m) => _api.GetList(q, f, m),
                q => _api.GetListCount(q));

        /// <summary>
        /// Create a deployment.
        /// </summary>
        /// <remarks>
        /// Deployments can contain custom code in form of scripts or EL expressions to customize process behavior. 
        /// This may be abused for remote execution of arbitrary code. See the section on security considerations for custom code in the user guide for details.
        /// </remarks>
        /// <param name="deploymentName">The name for the deployment to be created.</param>
        /// <param name="resources">The binary data to create the deployment resource. It is possible to have more than one form part with different form part names for the binary data to create a deployment.</param>
        /// <param name="changedOnly">A flag indicating whether the process engine should perform duplicate checking on a per-resource basis. If set to true, only those resources that have actually changed are deployed. Checks are made against resources included previous deployments of the same name and only against the latest versions of those resources. If set to true, the option duplicateFiltering is overridden and set to true.</param>
        /// <param name="deploymentSource">The source for the deployment to be created.</param>
        /// <param name="duplicateFiltering">A flag indicating whether the process engine should perform duplicate checking for the deployment or not. This allows you to check if a deployment with the same name and the same resouces already exists and if true, not create a new deployment but instead return the existing deployment. The default value is false.</param>
        /// <param name="tenantId">The tenant id for the deployment to be created.</param>
        public Task<DeploymentInfo> Create(string deploymentName, bool duplicateFiltering, bool changedOnly, string deploymentSource, string tenantId = null,
            params ResourceDataContent[] resources) => _api.Create(
                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent("deployment-name", deploymentName)),
                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent("enable-duplicate-filtering", duplicateFiltering.ToString().ToLower())),
                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent("deploy-changed-only", changedOnly.ToString().ToLower())),
                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent("deployment-source", deploymentSource ?? "undefined")),
                tenantId == null ? null : new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent("tenant-id", tenantId)),
                resources.Select(r => new HttpContentMultipartItem<ResourceDataContent>(r)).ToArray());


        /// <summary>
        /// Create a deployment.
        /// </summary>
        /// <remarks>
        /// Deployments can contain custom code in form of scripts or EL expressions to customize process behavior. 
        /// This may be abused for remote execution of arbitrary code. See the section on security considerations for custom code in the user guide for details.
        /// </remarks>
        /// <param name="deploymentName">The name for the deployment to be created.</param>
        /// <param name="resources">The binary data to create the deployment resource. It is possible to have more than one form part with different form part names for the binary data to create a deployment.</param>
        public Task<DeploymentInfo> Create(string deploymentName, 
            params ResourceDataContent[] resources) =>
                Create(deploymentName, false, false, null, null, resources);
    }
}


================================================
FILE: Camunda.Api.Client/Deployment/IDeploymentRestService.cs
================================================
using Refit;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Deployment
{
    internal interface IDeploymentRestService
    {
        [Get("/deployment")]
        Task<List<DeploymentInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);

        [Get("/deployment/count")]
        Task<CountResult> GetListCount(QueryDictionary query);

        [Get("/deployment/{id}")]
        Task<DeploymentInfo> Get(string id);

        [Post("/deployment/{id}/redeploy")]
        Task<DeploymentInfo> Redeploy(string id, [Body] RedeploymentInfo redeployment);

        [Delete("/deployment/{id}")]
        Task Delete(string id, bool cascade, bool skipCustomListeners, bool skipIoMappings);

        [Get("/deployment/{deploymentId}/resources")]
        Task<List<DeploymentResourceInfo>> GetDeploymentResources(string deploymentId);

        [Get("/deployment/{deploymentId}/resources/{resourceId}")]
        Task<DeploymentResourceInfo> GetDeploymentResource(string deploymentId, string resourceId);

        [Get("/deployment/{deploymentId}/resources/{resourceId}/data")]
        Task<HttpResponseMessage> GetDeploymentResourceData(string deploymentId, string resourceId);

        [Post("/deployment/create"), Multipart]
        Task<DeploymentInfo> Create(HttpContentMultipartItem<PlainTextContent> deploymentName, HttpContentMultipartItem<PlainTextContent> enableDuplicateFiltering,
            HttpContentMultipartItem<PlainTextContent> deployChangedOnly, HttpContentMultipartItem<PlainTextContent> deploymentSource,
            HttpContentMultipartItem<PlainTextContent> tenantId, params HttpContentMultipartItem<ResourceDataContent>[] resources);


    }
}


================================================
FILE: Camunda.Api.Client/Deployment/RedeploymentInfo.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.Deployment
{
    public class RedeploymentInfo
    {
        /// <summary>
        /// Sets the source of the deployment.
        /// </summary>
        public string Source;
        /// <summary>
        /// A list of deployment resource ids to re-deploy.
        /// </summary>
        public List<string> ResourceIds = new List<string>();
        /// <summary>
        /// A list of deployment resource names to re-deploy.
        /// </summary>
        public List<string> ResourceNames = new List<string>();
    }
}


================================================
FILE: Camunda.Api.Client/Deployment/ResourceDataContent.cs
================================================
using Iana;
using System;
using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;

namespace Camunda.Api.Client.Deployment
{
    public class ResourceDataContent : StreamContent
    {
        /// <param name="stream">The binary data to create the deployment resource.</param>
        /// <param name="fileName">The name of the file.</param>
        public ResourceDataContent(Stream stream, string fileName ) : base(stream)
        {
            Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { FileName = fileName, Name = "data-" + Guid.NewGuid().ToString("D") };
            Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Application.OctetStream);
            Headers.Add("Content-Transfer-Encoding", "binary");
        }

    }
}


================================================
FILE: Camunda.Api.Client/EnumerableExtensions.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client
{
    public static class EnumerableExtensions
    {
        public static Dictionary<string, VariableValue> Set(this Dictionary<string, VariableValue> variables, string name, object value)
        {
            var varVal = value as VariableValue;

            if (varVal == null)
                varVal = VariableValue.FromObject(value);

            variables[name] = varVal;

            return variables;
        }
    }
}


================================================
FILE: Camunda.Api.Client/ErrorMessageHandler.cs
================================================
using Iana;
using Newtonsoft.Json;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;

namespace Camunda.Api.Client
{
    public class ErrorMessageHandler : DelegatingHandler
    {
        public ErrorMessageHandler(HttpMessageHandler innerHandler) : base(innerHandler)
        {
        }

        public ErrorMessageHandler() : base(new HttpClientHandler())
        {
        }

        protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var response = await base.SendAsync(request, cancellationToken);

            if (response.IsSuccessStatusCode == false && 
                response.Content?.Headers?.ContentType?.MediaType?.Equals(MediaTypes.Application.Json) == true)
            {
                RestError err = null;
                string json = null;
                try
                {
                    json = await response.Content.ReadAsStringAsync();
                    err = JsonConvert.DeserializeObject<RestError>(json);
                }
                catch
                {
                    // we are currently handling exception, don't throw another one during deserialization
                }

                if (err?.Type != null)
                {
                    var ex = ApiException.FromRestError(err, response);
                    
                    // fill additional exception properties
                    JsonConvert.PopulateObject(json, ex); 

                    throw ex;
                }
            }

            return response;
        }
    }
}


================================================
FILE: Camunda.Api.Client/Execution/EventSubscription.cs
================================================
using System;

namespace Camunda.Api.Client.Execution
{
    public class EventSubscription
    {
        /// <summary>
        /// The identifier of the event subscription.
        /// </summary>
        public string Id;
        /// <summary>
        /// The type of the event. message for message events.
        /// </summary>
        public string EventType;
        /// <summary>
        /// The name of the event the subscription belongs to, as defined in the process model.
        /// </summary>
        public string EventName;
        /// <summary>
        /// The id of the execution the subscription belongs to.
        /// </summary>
        public string ExecutionId;
        /// <summary>
        /// The id of the process instance the subscription belongs to.
        /// </summary>
        public string ProcessInstanceId;
        /// <summary>
        /// The id of the activity that the event subscription belongs to. Corresponds to the id in the process model.
        /// </summary>
        public string ActivityId;
        /// <summary>
        /// The time the subscription was created by the engine.
        /// </summary>
        public DateTime CreatedDate;
        /// <summary>
        /// The id of the tenant the subscription belongs to.
        /// </summary>
        public string TenantId;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/Execution/EventSubscriptionResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.Execution
{
    public class EventSubscriptionResource
    {
        private string _executionId;
        private IExecutionRestService _api;
        private string _messageName;

        internal EventSubscriptionResource(IExecutionRestService api, string executionId, string messageName)
        {
            _api = api;
            _executionId = executionId;
            _messageName = messageName;
        }

        /// <summary>
        /// Get a message event subscription for a specific execution and a message name.
        /// </summary>
        public Task<EventSubscription> Get() => _api.GetMessageEventSubscription(_executionId, _messageName);

        /// <summary>
        /// Deliver a message to a specific execution to trigger an existing message event subscription. Inject process variables as the message’s payload.
        /// </summary>
        public Task Trigger(ExecutionTrigger trigger) => _api.TriggerMessageEventSubscription(_executionId, _messageName, trigger);

        public override string ToString() => _executionId;
    }
}


================================================
FILE: Camunda.Api.Client/Execution/ExecutionInfo.cs
================================================
namespace Camunda.Api.Client.Execution
{
    public class ExecutionInfo
    {
        /// <summary>
        /// The id of the execution.
        /// </summary>
        public string Id;
        /// <summary>
        /// The id of the process instance that this execution instance belongs to.
        /// </summary>
        public string ProcessInstanceId;
        /// <summary>
        /// A flag indicating whether the execution has ended or not.
        /// </summary>
        public bool Ended;
        /// <summary>
        /// The tenant id of the execution.
        /// </summary>
        public string TenantId;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/Execution/ExecutionQuery.cs
================================================
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Camunda.Api.Client.Execution
{
    public class ExecutionQuery : SortableQuery<ExecutionSorting, ExecutionQuery>
    {
        /// <summary>
        /// Filter by the key of the process definition the executions run on.
        /// </summary>
        public string ProcessDefinitionKey;
        /// <summary>
        /// Filter by the business key of the process instances the executions belong to.
        /// </summary>
        public string BusinessKey;
        /// <summary>
        /// Filter by the process definition the executions run on.
        /// </summary>
        public string ProcessDefinitionId;
        /// <summary>
        /// Filter by the id of the process instance the execution belongs to.
        /// </summary>
        public string ProcessInstanceId;
        /// <summary>
        /// Filter by the id of the activity the execution currently executes.
        /// </summary>
        public string ActivityId;
        /// <summary>
        /// Select only those executions that expect a signal of the given name.
        /// </summary>
        public string SignalEventSubscriptionName;
        /// <summary>
        /// Select only those executions that expect a message of the given name.
        /// </summary>
        public string MessageEventSubscriptionName;
        /// <summary>
        /// Only include active executions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool Active;
        /// <summary>
        /// Only include suspended executions. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool Suspended;
        /// <summary>
        /// Filter by the incident id.
        /// </summary>
        public string IncidentId;
        /// <summary>
        /// Filter by the incident type.
        /// </summary>
        public string IncidentType;
        /// <summary>
        /// Filter by the incident message. Exact match.
        /// </summary>
        public string IncidentMessage;
        /// <summary>
        /// Filter by the incident message that the parameter is a substring of.
        /// </summary>
        public string IncidentMessageLike;
        /// <summary>
        /// Filter by a list of tenant ids. An execution must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds;

        /// <summary>
        /// Array to only include executions that have variables with certain values. 
        /// The array consists of objects with the three properties key, operator and value.key(String) is the variable name, operator (String) is the comparison operator to be used and value the variable value.
        /// Value may be String, Number or Boolean.
        /// </summary>
        public List<VariableQueryParameter> Variables = new List<VariableQueryParameter>();

        /// <summary>
        /// Array to only include executions that belong to a process instance with variables with certain values. 
        /// A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.
        /// </summary>
        /// <remarks>Values are always treated as String objects on server side.</remarks>
        public List<VariableQueryParameter> ProcessVariables = new List<VariableQueryParameter>();
    }

    public enum ExecutionSorting
    {
        InstanceId,
        DefinitionKey,
        DefinitionId,
        TenantId
    }
}


================================================
FILE: Camunda.Api.Client/Execution/ExecutionResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.Execution
{
    public class ExecutionResource
    {
        private IExecutionRestService _api;
        private string _executionId;

        internal ExecutionResource(IExecutionRestService api, string executionId)
        {
            _api = api;
            _executionId = executionId;
        }

        public LocalVariableResource LocalVariables => new LocalVariableResource(_api, _executionId);

        /// <summary>
        /// Retrieves a single execution according to the Execution interface in the engine.
        /// </summary>
        public Task<ExecutionInfo> Get() => _api.Get(_executionId);
        /// <summary>
        /// Signals a single execution. Can for example be used to explicitly skip user tasks or signal asynchronous continuations.
        /// </summary>
        public Task Trigger(ExecutionTrigger trigger) => _api.TriggerExecution(_executionId, trigger);

        public EventSubscriptionResource GetMessageEventSubscription(string messageName) => new EventSubscriptionResource(_api, _executionId, messageName);

        public override string ToString() => _executionId;
    }
}


================================================
FILE: Camunda.Api.Client/Execution/ExecutionService.cs
================================================
namespace Camunda.Api.Client.Execution
{
    public class ExecutionService
    {
        private IExecutionRestService _api;

        internal ExecutionService(IExecutionRestService api)
        {
            _api = api;
        }

        public ExecutionResource this[string executionId] => new ExecutionResource(_api, executionId);

        public QueryResource<ExecutionQuery, ExecutionInfo> Query(ExecutionQuery query = null) =>
            new QueryResource<ExecutionQuery, ExecutionInfo>(query, _api.GetList, _api.GetListCount);

    }
}


================================================
FILE: Camunda.Api.Client/Execution/ExecutionTrigger.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.Execution
{
    public class ExecutionTrigger
    {
        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();
    }
}


================================================
FILE: Camunda.Api.Client/Execution/IExecutionRestService.cs
================================================
using Refit;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Execution
{
    internal interface IExecutionRestService
    {
        [Post("/execution")]
        Task<List<ExecutionInfo>> GetList([Body] ExecutionQuery query, int? firstResult, int? maxResults);

        [Post("/execution/count")]
        Task<CountResult> GetListCount([Body] ExecutionQuery query);

        [Get("/execution/{id}")]
        Task<ExecutionInfo> Get(string id);

        [Get("/execution/{id}/messageSubscriptions/{messageName}")]
        Task<EventSubscription> GetMessageEventSubscription(string id, string messageName);

        [Post("/execution/{id}/messageSubscriptions/{messageName}/trigger")]
        Task TriggerMessageEventSubscription(string id, string messageName, [Body] ExecutionTrigger trigger);

        [Post("/execution/{id}/signal")]
        Task TriggerExecution(string id, [Body] ExecutionTrigger trigger);

        #region Local Variables

        [Delete("/execution/{id}/localVariables/{varName}")]
        Task DeleteLocalVariable(string id, string varName);

        [Get("/execution/{id}/localVariables/{varName}")]
        Task<VariableValue> GetLocalVariable(string id, string varName, bool deserializeValue = true);

        [Get("/execution/{id}/localVariables")]
        Task<Dictionary<string, VariableValue>> GetLocalVariables(string id, bool deserializeValues = true);

        [Get("/execution/{id}/localVariables/{varName}/data")]
        Task<HttpResponseMessage> GetBinaryLocalVariable(string id, string varName);

        [Post("/execution/{id}/localVariables/{varName}/data"), Multipart]
        Task SetBinaryLocalVariable(string id, string varName, BinaryDataContent data, ValueTypeContent valueType);

        [Post("/execution/{id}/localVariables")]
        Task ModifyLocalVariables(string id, PatchVariables patch);

        [Put("/execution/{id}/localVariables/{varName}")]
        Task PutLocalVariable(string id, string varName, [Body] VariableValue variable);

        #endregion

    }
}


================================================
FILE: Camunda.Api.Client/Execution/LocalVariableResource.cs
================================================
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Execution
{
    public class LocalVariableResource : IVariableResource
    {
        private string _executionId;
        private IExecutionRestService _api;

        internal LocalVariableResource(IExecutionRestService api, string executionId)
        {
            _api = api;
            _executionId = executionId;
        }

        /// <summary>
        /// Retrieves all variables of a given execution.
        /// </summary>
        /// <param name="deserializeValues">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>
        public Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValues = true) => _api.GetLocalVariables(_executionId, deserializeValues);
        /// <summary>
        /// Retrieves a variable from the context of a given execution. Does not traverse the parent execution hierarchy.
        /// </summary>
        /// <param name="variableName">The name of the variable to get.</param>
        /// <param name="deserializeValue">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>
        public Task<VariableValue> Get(string variableName, bool deserializeValue = true) => _api.GetLocalVariable(_executionId, variableName, deserializeValue);
        /// <summary>
        /// Retrieves a binary variable from the context of a given execution. Does not traverse the parent execution hierarchy. Applicable for byte array and file variables.
        /// </summary>
        public async Task<HttpContent> GetBinary(string variableName) => (await _api.GetBinaryLocalVariable(_executionId, variableName)).Content;
        /// <summary>
        /// Sets a variable in the context of a given execution. Update does not propagate upwards in the execution hierarchy.
        /// </summary>
        public Task Set(string variableName, VariableValue variable) => _api.PutLocalVariable(_executionId, variableName, variable);
        /// <summary>
        /// Sets the serialized value for a binary variable or the binary value for a file variable.
        /// </summary>
        public Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType) => _api.SetBinaryLocalVariable(_executionId, variableName, data, new ValueTypeContent(valueType.ToString()));
        /// <summary>
        /// Deletes a variable in the context of a given execution. Deletion does not propagate upwards in the execution hierarchy.
        /// </summary>
        public Task Delete(string variableName) => _api.DeleteLocalVariable(_executionId, variableName);
        /// <summary>
        /// Updates or deletes the variables in the context of an execution. The updates do not propagate upwards in the execution hierarchy. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.
        /// </summary>
        public Task Modify(PatchVariables patch) => _api.ModifyLocalVariables(_executionId, patch);

        public override string ToString() => _executionId;
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/CompleteExternalTask.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.ExternalTask
{
    public class CompleteExternalTask
    {
        /// <summary>
        /// The id of the worker that completes the task. Must match the id of the worker who has most recently locked the task.
        /// </summary>
        public string WorkerId;

        /// <summary>
        /// Dictionary containing variable key-value pairs.
        /// </summary>
        public Dictionary<string, VariableValue> Variables;

        /// <summary>
        /// Dictionary containing variable key-value pairs. Local variables are set only in the scope of external task.
        /// </summary>
        public Dictionary<string, VariableValue> LocalVariables;

        public CompleteExternalTask SetVariable(string name, object value)
        {
            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);
            return this;
        }

        /// <summary>
        /// Local variables are set only in the scope of external task.
        /// </summary>
        public CompleteExternalTask SetLocalVariable(string name, object value)
        {
            LocalVariables = (LocalVariables ?? new Dictionary<string, VariableValue>()).Set(name, value);
            return this;
        }
    }
}

================================================
FILE: Camunda.Api.Client/ExternalTask/ExternalTaskBpmnError.cs
================================================

using System.Collections.Generic;

namespace Camunda.Api.Client.ExternalTask
{
    public class ExternalTaskBpmnError
    {
        /// <summary>
        /// The id of the worker that reports the failure. Must match the id of the worker who has most recently locked the task.
        /// </summary>
        public string WorkerId;

        /// <summary>
        /// A error code that indicates the predefined error. Is used to identify the BPMN error handler.
        /// </summary>
        public string ErrorCode;

        /// <summary>
        /// An error message that describes the error.
        /// </summary>
        public string ErrorMessage;

        /// <summary>
        /// Object containing variable key-value pairs.
        /// </summary>
        public Dictionary<string, VariableValue> Variables;

        public ExternalTaskBpmnError SetVariable(string name, object value)
        {
            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);
            return this;
        }

        public override string ToString() => ErrorCode;
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/ExternalTaskExtendLock.cs
================================================

namespace Camunda.Api.Client.ExternalTask
{
    public class ExternalTaskExtendLock
    {
        /// <summary>
        /// The ID of a worker who is locking the external task.
        /// </summary>
        public string WorkerId;

        /// <summary>
        /// An amount of time (in milliseconds) to extend the lock by.
        /// </summary>
        public long NewDuration;
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/ExternalTaskFailure.cs
================================================

namespace Camunda.Api.Client.ExternalTask
{
    public class ExternalTaskFailure
    {
        /// <summary>
        /// The id of the worker that reports the failure. Must match the id of the worker who has most recently locked the task.
        /// </summary>
        public string WorkerId;

        /// <summary>
        /// An message indicating the reason of the failure.
        /// </summary>
        public string ErrorMessage;

        /// <summary>
        /// A detailed error description.
        /// </summary>
        public string ErrorDetails;

        /// <summary>
        /// A timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0.
        /// </summary>
        public long RetryTimeout;

        /// <summary>
        /// A number of how often the task should be retried. Must be >= 0. If this is 0, an incident is created and the task cannot be fetched anymore unless the retries are increased again. The incident's message is set to the errorMessage parameter.
        /// </summary>
        public int Retries;

        public override string ToString() => ErrorMessage;
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/ExternalTaskInfo.cs
================================================
using System;

namespace Camunda.Api.Client.ExternalTask
{
    public class ExternalTaskInfo
    {
        /// <summary>
        /// The id of the activity that this external task belongs to.
        /// </summary>
        public string ActivityId;
        /// <summary>
        /// The id of the activity instance that the external task belongs to.
        /// </summary>
        public string ActivityInstanceId;
        /// <summary>
        /// The error message that was supplied when the last failure of this task was reported.
        /// </summary>
        public string ErrorMessage;
        /// <summary>
        /// The error details submitted with the latest reported failure executing this task.
        /// <c>null</c> if no failure was reported previously or if no error details was submitted.
        /// </summary>
        public string ErrorDetails;
        /// <summary>
        /// The id of the execution that the external task belongs to.
        /// </summary>
        public string ExecutionId;
        /// <summary>
        /// The external task's id.
        /// </summary>
        public string Id;
        /// <summary>
        /// The date that the task's most recent lock expires or has expired.
        /// </summary>
        public DateTime? LockExpirationTime;
        /// <summary>
        /// The id of the process definition the external task is defined in.
        /// </summary>
        public string ProcessDefinitionId;
        /// <summary>
        /// The key of the process definition the external task is defined in.
        /// </summary>
        public string ProcessDefinitionKey;
        /// <summary>
        /// The id of the process instance the external task belongs to.
        /// </summary>
        public string ProcessInstanceId;
        /// <summary>
        /// The number of retries the task currently has left.
        /// </summary>
        public int? Retries;
        /// <summary>
        /// A flag indicating whether the external task is suspended or not.
        /// </summary>
        public bool Suspended;
        /// <summary>
        /// The id of the worker that posesses or posessed the most recent lock.
        /// </summary>
        public string WorkerId;
        /// <summary>
        /// The external task's topic name.
        /// </summary>
        public string TopicName;
        /// <summary>
        /// The business key of the process instance the external task belongs to.
        /// </summary>
        public string BusinessKey;
        /// <summary>
        /// The id of the tenant the external task belongs to.
        /// </summary>
        public string TenantId;
        /// <summary>
        /// The priority of the external task.
        /// </summary>
        public long Priority;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/ExternalTaskQuery.cs
================================================
using Newtonsoft.Json;
using System;
using System.Collections.Generic;

namespace Camunda.Api.Client.ExternalTask
{
    public class ExternalTaskQuery : SortableQuery<ExternalTaskSorting, ExternalTaskQuery>
    {
        /// <summary>
        /// Filter by an external task's id.
        /// </summary>
        public string ExternalTaskId;
        /// <summary>
        /// Filter by the id of the activity that an external task is created for.
        /// </summary>
        public string ActivityId;
        /// <summary>
        /// Restrict to external tasks that have a lock that expires before a given date.
        /// </summary>
        public DateTime? LockExpirationBefore;
        /// <summary>
        /// Restrict to external tasks that have a lock that expires after a given date.
        /// </summary>
        public DateTime? LockExpirationAfter;
        /// <summary>
        /// Filter by an external task topic.
        /// </summary>
        public string TopicName;
        /// <summary>
        /// Only include external tasks that are currently locked (i.e. they have a lock time and it has not expired). Value may only be true, as false matches any external task.
        /// </summary>
        public bool? Locked;
        /// <summary>
        /// Only include external tasks that are currently not locked (i.e. they have no lock or it has expired). Value may only be true, as false matches any external task.
        /// </summary>
        public bool? NotLocked;
        /// <summary>
        /// Filter by the id of the execution that an external task belongs to.
        /// </summary>
        public string ExecutionId;
        /// <summary>
        /// Filter by the id of the process instance that an external task belongs to.
        /// </summary>
        public string ProcessInstanceId;
        /// <summary>
        /// Filter by the id of the process definition that an external task belongs to.
        /// </summary>
        public string ProcessDefinitionId;
        /// <summary>
        /// Only include active tasks. Value may only be true, as false matches any external task.
        /// </summary>
        public bool? Active;
        /// <summary>
        /// Only include suspended tasks. Value may only be true, as false matches any external task.
        /// </summary>
        public bool? Suspended;
        /// <summary>
        /// Only include external tasks that have a positive (> 0) number of retries (or null). Value may only be true, as false matches any external task.
        /// </summary>
        public bool? WithRetriesLeft;
        /// <summary>
        /// Only include external tasks that have 0 retries. Value may only be true, as false matches any external task.
        /// </summary>
        public bool? NoRetriesLeft;
        /// <summary>
        /// Filter by the id of the worker that the task was most recently locked by.
        /// </summary>
        public string WorkerId;
        /// <summary>
        /// Filter by a comma-separated list of tenant ids. An external task must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds = new List<string>();
        /// <summary>
        /// Only include jobs with a priority higher than or equal to the given value. Value must be a valid long value.
        /// </summary>
        public long? PriorityHigherThanOrEquals;
        /// <summary>
        /// Only include jobs with a priority lower than or equal to the given value. Value must be a valid long value.
        /// </summary>
        public long? PriorityLowerThanOrEquals;
    }

    public enum ExternalTaskSorting
    {
        Id,
        LockExpirationTime,
        ProcessInstanceId,
        ProcessDefinitionId,
        ProcessDefinitionKey,
        TaskPriority,
        TenantId
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/ExternalTaskResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.ExternalTask
{
    public class ExternalTaskResource
    {
        private string _externalTaskId;
        private IExternalTaskRestService _api;

        internal ExternalTaskResource(IExternalTaskRestService api, string externalTaskId)
        {
            _api = api;
            _externalTaskId = externalTaskId;
        }

        /// <summary>
        /// Retrieves a single external task corresponding to the ExternalTask interface in the engine.
        /// </summary>
        public Task<ExternalTaskInfo> Get() => _api.Get(_externalTaskId);

        /// <summary>
        /// Set the number of retries left to execute an external task. If retries are set to 0, an incident is created.
        /// </summary>
        /// <param name="retries">The number of retries to set for the external task. Must be >= 0. If this is 0, an incident is created and the task cannot be fetched anymore unless the retries are increased again.</param>
        public Task SetRetries(int retries) => _api.SetRetries(_externalTaskId, new RetriesInfo() { Retries = retries });

        /// <summary>
        /// Set the priority of an existing external task. The default value of a priority is 0.
        /// </summary>
        /// <param name="priority">The priority of the external task.</param>
        public Task SetPriority(long priority) => _api.SetPriority(_externalTaskId, new PriorityInfo { Priority = priority });

        /// <summary>
        /// Complete an external task and update process variables.
        /// </summary>
        public Task Complete(CompleteExternalTask completeExternalTask) => _api.Complete(_externalTaskId, completeExternalTask);

        /// <summary>
        /// Report a failure to execute an external task. A number of retries and a timeout until the task can be retried can be specified. If retries are set to 0, an incident for this task is created.
        /// </summary>
        public Task HandleFailure(ExternalTaskFailure externalTaskFailure) => _api.HandleFailure(_externalTaskId, externalTaskFailure);

        /// <summary>
        /// Report a business error in the context of a running external task. The error code must be specified to identify the BPMN error handler.
        /// </summary>
        public Task HandleBpmnError(ExternalTaskBpmnError externalTaskBpmnError) => _api.HandleBpmnError(_externalTaskId, externalTaskBpmnError);

        /// <summary>
        /// Unlock an external task. Clears the task’s lock expiration time and worker id.
        /// </summary>
        public Task Unlock() => _api.Unlock(_externalTaskId);

        /// <summary>
        /// Extends the timeout of the lock by a given amount of time.
        /// </summary>
        public Task ExtendLock(ExternalTaskExtendLock externalTaskExtendLock) => _api.ExtendLock(_externalTaskId, externalTaskExtendLock);

        public override string ToString() => _externalTaskId;
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/ExternalTaskService.cs
================================================

using System.Collections.Generic;
using System.Threading.Tasks;

namespace Camunda.Api.Client.ExternalTask
{
    public class ExternalTaskService
    {
        private IExternalTaskRestService _api;

        internal ExternalTaskService(IExternalTaskRestService api) { _api = api; }

        public QueryResource<ExternalTaskQuery, ExternalTaskInfo> Query(ExternalTaskQuery query = null) =>
            new QueryResource<ExternalTaskQuery, ExternalTaskInfo>(query, _api.GetList, _api.GetListCount);

        /// <param name="externalTaskId">The id of the external task to be retrieved.</param>
        public ExternalTaskResource this[string externalTaskId] => new ExternalTaskResource(_api, externalTaskId);
        
        /// <summary>
        /// Fetches and locks a specific number of external tasks for execution by a worker. Query can be restricted to specific task topics and for each task topic an individual lock time can be provided.
        /// </summary>
        public Task<List<LockedExternalTask>> FetchAndLock(FetchExternalTasks fetching) => _api.FetchAndLock(fetching);
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs
================================================
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Camunda.Api.Client.ExternalTask
{
    public class FetchExternalTaskTopic
    {
        /// <param name="topicName">The topic's name.</param>
        /// <param name="lockDuration">The duration to lock the external tasks for in milliseconds.</param>
        public FetchExternalTaskTopic(string topicName, long lockDuration)
        {
            TopicName = topicName;
            LockDuration = lockDuration;
        }

        /// <summary>
        ///  A String value which enables the filtering of tasks based on process instance business key.
        /// </summary>
        public string BusinessKey;

        /// <summary>
        /// Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side (default false).
        /// </summary>
        public bool DeserializeValues;

        /// <summary>
        /// If true only local variables will be fetched.
        /// </summary>
        public bool LocalVariables;

        /// <summary>
        /// The duration to lock the external tasks for in milliseconds.
        /// </summary>
        public long LockDuration;

        /// <summary>
        /// Filter tasks based on process definition id.
        /// </summary>
        public string ProcessDefinitionId;

        /// <summary>
        /// Filter tasks based on process definition ids.
        /// </summary>
        [JsonProperty("processDefinitionIdIn")]
        public List<string> ProcessDefinitionIds = new List<string>();

        /// <summary>
        /// Filter tasks based on process definition key.
        /// </summary>
        public string ProcessDefinitionKey;

        /// <summary>
        /// Filter tasks based on process definition keys.
        /// </summary>
        [JsonProperty("processDefinitionKeyIn")]
        public List<string> ProcessDefinitionKeys = new List<string>();

        /// <summary>
        /// A map of variables used for filtering tasks based on process instance variable values.
        /// </summary>
        public Dictionary<string, object> ProcessVariables = new Dictionary<string, object>();

        /// <summary>
        /// Filter tasks based on tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds = new List<string>();

        /// <summary>
        /// The topic's name
        /// </summary>
        public string TopicName;

        /// <summary>
        /// Array of String values that represent variable names.
        /// For each result task belonging to this topic, the given variables are returned as well if they are accessible from the external task's execution.
        /// </summary>
        public List<string> Variables;

        /// <summary>
        /// Filter tasks without tenant id.
        /// </summary>
        public bool WithoutTenantId;

        public override string ToString() => TopicName;
    }
}

================================================
FILE: Camunda.Api.Client/ExternalTask/FetchExternalTasks.cs
================================================

using System.Collections.Generic;

namespace Camunda.Api.Client.ExternalTask
{
    public class FetchExternalTasks
    {
        /// <summary>
        /// Mandatory. The maximum number of tasks to return.
        /// </summary>
        public int MaxTasks;
        /// <summary>
        /// Mandatory. The id of the worker on which behalf tasks are fetched. The returned tasks are locked for that worker and can only be completed when providing the same worker id.
        /// </summary>
        public string WorkerId;

        /// <summary>
        /// Indicates whether the task should be fetched based on its priority or arbitrarily.
        /// </summary>
        public bool UsePriority;

        /// <summary>
        /// The Long Polling timeout in milliseconds. The value cannot be set larger than 1.800.000 milliseconds (corresponds to 30 minutes).
        /// </summary>
        public long AsyncResponseTimeout;

        /// <summary>
        /// Array of topic objects for which external tasks should be fetched. The returned tasks may be arbitrarily distributed among these topics.
        /// </summary>
        public List<FetchExternalTaskTopic> Topics;
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/IExternalTaskRestService.cs
================================================
using Refit;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Camunda.Api.Client.ExternalTask
{
    internal interface IExternalTaskRestService
    {
        [Get("/external-task/{externalTaskId}")]
        Task<ExternalTaskInfo> Get(string externalTaskId);

        [Post("/external-task")]
        Task<List<ExternalTaskInfo>> GetList([Body] ExternalTaskQuery query, int? firstResult, int? maxResults);

        [Post("/external-task/count")]
        Task<CountResult> GetListCount([Body] ExternalTaskQuery query);

        [Post("/external-task/fetchAndLock")]
        Task<List<LockedExternalTask>> FetchAndLock([Body] FetchExternalTasks fetching);

        [Put("/external-task/{externalTaskId}/retries")]
        Task SetRetries(string externalTaskId, [Body] RetriesInfo retries);

        [Put("/external-task/{externalTaskId}/priority")]
        Task SetPriority(string externalTaskId, [Body] PriorityInfo priority);

        [Post("/external-task/{externalTaskId}/complete")]
        Task Complete(string externalTaskId, [Body] CompleteExternalTask completeExternalTask);

        [Post("/external-task/{externalTaskId}/bpmnError")]
        Task HandleBpmnError(string externalTaskId, [Body] ExternalTaskBpmnError externalTaskBpmnError);

        [Post("/external-task/{externalTaskId}/failure")]
        Task HandleFailure(string externalTaskId, [Body] ExternalTaskFailure externalTaskFailure);

        [Post("/external-task/{externalTaskId}/unlock")]
        Task Unlock(string externalTaskId);

        [Post("/external-task/{externalTaskId}/extendLock")]
        Task ExtendLock(string externalTaskId, [Body] ExternalTaskExtendLock externalTaskExtendLock);
    }
}


================================================
FILE: Camunda.Api.Client/ExternalTask/LockedExternalTask.cs
================================================
using System;
using System.Collections.Generic;

namespace Camunda.Api.Client.ExternalTask
{
    public class LockedExternalTask : ExternalTaskInfo
    {
        /// <summary>
        /// Object containing a property for each of the requested variables.
        /// </summary>
        public Dictionary<string, VariableValue> Variables;
    }
}


================================================
FILE: Camunda.Api.Client/Filter/FilterInfo.cs
================================================
using System;

namespace Camunda.Api.Client.Filter
{
    public class FilterInfo
    {
        public class Request
        {
            public Request()
            {
                ResourceType = "Task";
            }
            
            /// <summary>
            /// The resource type of the filter.
            /// </summary>
            public string ResourceType;

            /// <summary>
            /// The name of the filter.
            /// </summary>
            public string Name;

            /// <summary>
            /// The user id of the owner of the filter.
            /// </summary>
            public string Owner;

            /// <summary>
            /// The query of the filter as a JSON object.
            /// </summary>
            public object Query;

            /// <summary>
            /// The properties of a filter as a JSON object.
            /// </summary>
            public object Properties;
        }

        public class Response
        {
            /// <summary>
            ///  The id of the filter.
            /// </summary>
            public string Id;

            /// <summary>
            /// The resource type of the filter.
            /// </summary>
            public string ResourceType;

            /// <summary>
            /// The name of the filter.
            /// </summary>
            public string Name;

            /// <summary>
            /// The user id of the owner of the filter.
            /// </summary>
            public string Owner;

            /// <summary>
            /// The query of the filter as a JSON object.
            /// </summary>
            public object Query;

            /// <summary>
            /// The properties of a filter as a JSON object.
            /// </summary>
            public object Properties;

            /// <summary>
            /// The number of items matched by the filter itself.Note: Only exists if the query parameter itemCount was set to true
            /// </summary>
            public long? ItemCount;
        }
    }
}


================================================
FILE: Camunda.Api.Client/Filter/FilterQuery.cs
================================================
using Newtonsoft.Json;
using System;
using System.Collections.Generic;

namespace Camunda.Api.Client.Filter
{
    public class FilterQuery : QueryParameters
    {

        /// <summary>
        /// Filter by the id of the filter.
        /// </summary>
        public string FilterId;

        /// <summary>
        /// Filter by the resource type of the filter, e.g., Task.
        /// </summary>
        public string ResourceType;

        /// <summary>
        /// Filter by the name of the filter.
        /// </summary>
        public string Name;

        /// <summary>
        /// Filter by the name that the parameter is a substring of.
        /// </summary>
        public string NameLike;

        /// <summary>
        /// Filter by the user id of the owner of the filter.
        /// </summary>
        public string Owner;

        /// <summary>
        /// If set to true, each filter result will contain an itemCount property with the number of items matched by the filter itself.
        /// </summary>
        public bool ItemCount;

        /// <summary>
        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref="SortOrder"/> parameter.
        /// </summary>
        public FilterSorting SortBy;
        /// <summary>
        /// Sort the results in a given order. Must be used in conjunction with the <see cref="SortBy"/> parameter.
        /// </summary>
        public SortOrder SortOrder;
    }

    public enum FilterSorting
    {
        FilterId, 
        FirstName, 
        LastName, 
        Email
    }
}


================================================
FILE: Camunda.Api.Client/Filter/FilterResource.cs
================================================
using Camunda.Api.Client.UserTask;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Filter
{
    public class FilterResource
    {
        private IFilterRestService _api;
        private string _filterId;

        internal FilterResource(IFilterRestService api, string filterId)
        {
            _api = api;
            _filterId = filterId;
        }

        /// <summary>
        /// Retrieves a single filter by id.
        /// </summary>
        public Task<FilterInfo.Response> Get() => _api.Get(_filterId);

        /// <summary>
        /// Updates an existing filter.
        /// </summary>
        /// <param name="filterInfo"></param>
        /// <returns></returns>
        public Task Update(FilterInfo.Request filterInfo) => _api.Update(_filterId, filterInfo);

        /// <summary>
        /// Delete an existing filter.
        /// </summary>
        /// <returns></returns>
        public Task Delete() => _api.Delete(_filterId);

        /// <summary>
        /// Executes the saved query of the filter by id and returns the single result.
        /// </summary>
        /// <returns></returns>
        public Task<UserTaskInfo> Execute() => _api.Execute(_filterId);

        /// <summary>
        /// Executes the saved query of the filter by id and returns the result list.
        /// </summary>
        /// <param name="firstResult"></param>
        /// <param name="maxResults"></param>
        /// <returns></returns>
        public Task<List<UserTaskInfo>> ExecuteList(int firstResult, int maxResults, TaskQuery query = null) => _api.ExecuteList(_filterId, firstResult, maxResults, query);

        /// <summary>
        /// Executes the saved query of the filter by id and returns the count.
        /// </summary>
        /// <returns></returns>
        public async Task<int> ExecuteCount(TaskQuery query = null) => (await _api.ExecuteCount(_filterId, query)).Count;

        public override string ToString() => _filterId;
    }
}


================================================
FILE: Camunda.Api.Client/Filter/FilterService.cs
================================================
using System.Linq;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Filter
{
    public class FilterService
    {
        private IFilterRestService _api;

        internal FilterService(IFilterRestService api) { _api = api; }

        public FilterResource this[string filterId] => new FilterResource(_api, filterId);

        public QueryResource<FilterQuery, FilterInfo.Response> Query(FilterQuery query = null) =>
            new QueryResource<FilterQuery, FilterInfo.Response>(
                query,
                (q, f, m) => _api.GetList(q, f, m),
                q => _api.GetListCount(q));

        /// <summary>
        /// Creates a new filter.
        /// </summary>
        /// <param name="filterInfo"></param>
        /// <returns></returns>
        public Task<FilterInfo.Response> Create(FilterInfo.Request filterInfo) => _api.Create(filterInfo);
    }
}


================================================
FILE: Camunda.Api.Client/Filter/IFilterRestService.cs
================================================
using Camunda.Api.Client.UserTask;
using Refit;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Filter
{
    internal interface IFilterRestService
    {
        [Get("/filter")]
        Task<List<FilterInfo.Response>> GetList(QueryDictionary query, int? firstResult, int? maxResults);

        [Get("/filter/count")]
        Task<CountResult> GetListCount(QueryDictionary query);

        [Get("/filter/{id}")]
        Task<FilterInfo.Response> Get(string id);

        [Post("/filter/create")]
        Task<FilterInfo.Response> Create([Body] FilterInfo.Request filterInfo);

        [Delete("/filter/{id}")]
        Task Delete(string id);

        [Put("/filter/{id}")]
        Task Update(string id, [Body] FilterInfo.Request filterInfo);

        [Get("/filter/{id}/singleResult")]
        Task<UserTaskInfo> Execute(string id);

        [Post("/filter/{id}/list")]
        Task<List<UserTaskInfo>> ExecuteList(string id, int firstResult, int maxResults, [Body] TaskQuery query);

        [Post("/filter/{id}/count")]
        Task<CountResult> ExecuteCount(string id, [Body] TaskQuery query);
    }
}


================================================
FILE: Camunda.Api.Client/Group/GroupInfo.cs
================================================
namespace Camunda.Api.Client.Group
{
    public class GroupInfo
	{
		/// <summary>
		/// The id of the group
		/// </summary>
		public string Id;
		/// <summary>
		/// The name of the group.
		/// </summary>
		public string Name;
		/// <summary>
		/// The type of the group.
		/// </summary>	
		public string Type;

		public override string ToString() => Id;
	}
}


================================================
FILE: Camunda.Api.Client/Group/GroupQuery.cs
================================================
namespace Camunda.Api.Client.Group
{
    public class GroupQuery: QueryParameters
	{
		/// <summary>
		/// Filter by the id of the group.
		/// </summary>
		public string Id;

		/// <summary>
		/// Filter by the name of the group.
		/// </summary>
		public string Name;

		/// <summary>
		/// Filter by the name that the parameter is a substring of.
		/// </summary>
		public string NameLike;

		/// <summary>
		/// Filter by the type of the group.
		/// </summary>
		public string Type;

		/// <summary>
		/// Only retrieve groups which the given user id is a member of.
		/// </summary>
		public string Member;

		/// <summary>
		/// Only retrieve groups which are members of the given tenant.
		/// </summary>
		public string MemberOfTenant;

		/// <summary>
		/// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref="SortOrder"/>.
		/// </summary>
		public GroupSorting SortBy;

		/// <summary>
		/// Sort the results in a given order. Must be used in conjunction with the <see cref="SortBy"/>.
		/// </summary>
		public SortOrder SortOrder;
	}

	public enum GroupSorting
	{
		Id,
		Name,
		Type
	}
}


================================================
FILE: Camunda.Api.Client/Group/GroupResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.Group
{
    public class GroupResource
    {
		private IGroupRestService _api;
		private string _groupId;

		internal GroupResource(IGroupRestService api, string groupId)
		{
			_api = api;
			_groupId = groupId;
		}

		/// <summary>
		/// Retrieves a single group
		/// </summary>
		public Task<GroupInfo> Get() => _api.Get(_groupId);

		/// <summary>
		/// Updates a group.
		/// </summary>
		public Task Update(GroupInfo group) => _api.Update(_groupId, group);

		/// <summary>
		/// Deletes a group.
		/// </summary>
		public Task Delete() => _api.Delete(_groupId);

        /// <summary>
        /// Adds a member to a group.
        /// </summary>
        public Task AddMember(string userId) => _api.AddMember(_groupId, userId);

        /// <summary>
        /// Removes a member from a group.
        /// </summary>
        public Task RemoveMember(string userId) => _api.RemoveMember(_groupId, userId);

        public override string ToString() => _groupId;
	}
}


================================================
FILE: Camunda.Api.Client/Group/GroupService.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.Group
{
    public class GroupService
	{
		private IGroupRestService _api;

		internal GroupService(IGroupRestService api)
		{
			_api = api;
		}

        public QueryResource<GroupQuery, GroupInfo> Query(GroupQuery query = null) =>
            new QueryResource<GroupQuery, GroupInfo>(
                query, 
                (q, f, m) => _api.GetList(q, f, m),
                q => _api.GetListCount(q));

		/// <param name="groupId">The id of the group to be retrieved.</param>
		public GroupResource this[string groupId] => new GroupResource(_api, groupId);

		/// <summary>
		/// Create a new group.
		/// </summary>
		public Task Create(GroupInfo group) => _api.Create(group);
	}
}


================================================
FILE: Camunda.Api.Client/Group/IGroupRestService.cs
================================================
using Refit;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Camunda.Api.Client.Group
{
	internal interface IGroupRestService
	{
		[Get("/group")]
		Task<List<GroupInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);

		[Get("/group/count")]
		Task<CountResult> GetListCount(QueryDictionary query);

		[Get("/group/{id}")]
		Task<GroupInfo> Get(string id);

		[Post("/group/create")]
		Task Create([Body] GroupInfo group);

		[Put("/group/{id}")]
		Task Update(string id, [Body] GroupInfo group);

		[Delete("/group/{id}")]
		Task Delete(string id);

        [Put("/group/{id}/members/{userId}")]
        Task AddMember(string id, string userId);

        [Delete("/group/{id}/members/{userId}")]
        Task RemoveMember(string id, string userId);
    }
}


================================================
FILE: Camunda.Api.Client/History/AbstractReport.cs
================================================
using Newtonsoft.Json;
using System.Runtime.Serialization;

namespace Camunda.Api.Client.History
{
    public abstract class AbstractReport : QueryParameters
    {
        /// <summary>
        /// Specifies the granularity of the report.
        /// </summary>
        public PeriodUnit PeriodUnit;
        /// <summary>
        /// Specifies the type of the report to retrieve.
        /// </summary>
        public ReportType ReportType;
    }

    public enum PeriodUnit
    {
        /// <summary>
        /// Represents a unit for a quarter of the year.
        /// </summary>
        [EnumMember(Value = "quarter")]
        Quarter,

        /// <summary>
        /// Represents a unit for a month of the year.
        /// </summary>
        [EnumMember(Value = "month")]
        Month
    }

    public enum ReportType
    {
        [EnumMember(Value = "duration")]
        Duration,

        [EnumMember(Value = "count")]
        Count
    }

    public enum GroupBy
    {
        [EnumMember(Value = "taskName")]
        TaskName,

        [EnumMember(Value = "processDefinition")]
        ProcessDefinition
    }
}


================================================
FILE: Camunda.Api.Client/History/CleanableProcessInstanceReport.cs
================================================
namespace Camunda.Api.Client.History
{
    public class CleanableProcessInstanceReport: CleanableProcessInstanceReportCount
    {
        /// <summary>
        /// Sort the results by a given criterion. A valid value is activityId. Must be used in conjunction with the sortOrder parameter.
        /// </summary>
        public CleanableProcessInstanceReportSorting SortBy;

        /// <summary>
        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.
        /// </summary>
        public SortOrder SortOrder;

        /// <summary>
        /// Pagination of results. Specifies the index of the first result to return.
        /// </summary>
        public int? FirstResult;

        /// <summary>
        /// Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left.
        /// </summary>
        public int? MaxResults;
    }

    public enum CleanableProcessInstanceReportSorting
    {
        Finished
    }
}


================================================
FILE: Camunda.Api.Client/History/CleanableProcessInstanceReportCount.cs
================================================
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Camunda.Api.Client.History
{
    public class CleanableProcessInstanceReportCount: QueryParameters
    {
        /// <summary>
        /// Filter by process definition ids.Must be a comma-separated list of process definition ids.
        /// </summary>
        [JsonProperty("processDefinitionIdIn")]
        public List<string> ProcessDefinitionIds;

        /// <summary>
        ///  Filter by process definition keys. Must be a comma-separated list of process definition keys.
        /// </summary>
        [JsonProperty("processDefinitionKeyIn")]
        public List<string> ProcessDefinitionKeys;

        /// <summary>
        /// Filter by a comma-separated list of tenant ids.A process definition must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds;

        /// <summary>
        ///  Only include process definitions which belong to no tenant. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool WithoutTenantId;

        /// <summary>
        ///  Only include process instances which have more than zero finished instances. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool Compact;
    }
}


================================================
FILE: Camunda.Api.Client/History/CleanableProcessInstanceReportResult.cs
================================================
using System;
using System.Collections.Generic;
using System.Text;

namespace Camunda.Api.Client.History
{
    public class CleanableProcessInstanceReportResult
    {
        /// <summary>
        ///  The id of the process definition.
        /// </summary>
        public string ProcessDefinitionId;

        /// <summary>
        ///  The key of the process definition.
        /// </summary>
        public string ProcessDefinitionKey;

        /// <summary>
        /// The name of the process definition.
        /// </summary>
        public string ProcessDefinitionName;

        /// <summary>
        ///  The version of the process definition.
        /// </summary>
        public int ProcessDefinitionVersion;

        /// <summary>
        ///  The history time to live of the process definition.
        /// </summary>
        public int HistoryTimeToLive;

        /// <summary>
        ///  The count of the finished historic process instances.
        /// </summary>
        public int FinishedProcessInstanceCount;

        /// <summary>
        ///  The count of the cleanable historic process instances, referring to history time to live.
        /// </summary>
        public int CleanableProcessInstanceCount;

        /// <summary>
        ///  The tenant id of the process definition.
        /// </summary>
        public string TenantId;
    }
}


================================================
FILE: Camunda.Api.Client/History/CountReportResult.cs
================================================
namespace Camunda.Api.Client.History
{
    public class CountReportResult
    {
        /// <summary>
        /// The task name of the task. It is only available when the groupBy-parameter is set to taskName. Else the value is null.
        /// </summary>
        public string TaskName;

        /// <summary>
        /// The id of the process definition
        /// </summary>
        public string ProcessDefinitionId;

        /// <summary>
        /// The key of the process definition.
        /// </summary>
        public string ProcessDefinitionKey;

        /// <summary>
        /// The name of the process definition.
        /// </summary>
        public string processDefinitionName;

        /// <summary>
        /// The number of tasks which have the given definition.
        /// </summary>
        public long Count;
    }
}


================================================
FILE: Camunda.Api.Client/History/DeleteHistoricProcessInstances.cs
================================================
using System.Collections.Generic;

namespace Camunda.Api.Client.History
{
    public class DeleteHistoricProcessInstances
    {
        /// <summary>
        /// A list historic process instance ids to delete.
        /// </summary>
        public List<string> HistoricProcessInstanceIds;
        /// <summary>
        /// A historic process instance query.
        /// </summary>
        public HistoricProcessInstanceQuery HistoricProcessInstanceQuery;
        /// <summary>
        /// A string with delete reason.
        /// </summary>
        public string DeleteReason;
    }
}


================================================
FILE: Camunda.Api.Client/History/DurationReportResult.cs
================================================
namespace Camunda.Api.Client.History
{
    public class DurationReportResult : ReportResult
    {
        /// <summary>
        /// The smallest duration in milliseconds of all completed process instances which were started in the given period.
        /// </summary>
        public long Minimum;
        /// <summary>
        /// The greatest duration in milliseconds of all completed process instances which were started in the given period.
        /// </summary>
        public long Maximum;
        /// <summary>
        /// The average duration in milliseconds of all completed process instances which were started in the given period.
        /// </summary>
        public long Average;
    }
}


================================================
FILE: Camunda.Api.Client/History/HistoricActivityInstance.cs
================================================
using System;

namespace Camunda.Api.Client.History
{
    public class HistoricActivityInstance
    {
        /// <summary>
        /// The id of the activity instance.
        /// </summary>
        public string Id;
        /// <summary>
        /// The id of the parent activity instance, for example a sub process instance.
        /// </summary>
        public string ParentActivityInstanceId;
        /// <summary>
        /// The id of the activity that this object is an instance of.
        /// </summary>
        public string ActivityId;
        /// <summary>
        /// The name of the activity that this object is an instance of.
        /// </summary>
        public string ActivityName;
        /// <summary>
        /// The type of the activity that this object is an instance of.
        /// </summary>
        public string ActivityType;
        /// <summary>
        /// The key of the process definition that this activity instance belongs to.
        /// </summary>
        public string ProcessDefinitionKey;
        /// <summary>
        /// The id of the process definition that this activity instance belongs to.
        /// </summary>
        public string ProcessDefinitionId;
        /// <summary>
        /// The id of the process instance that this activity instance belongs to.
        /// </summary>
        public string ProcessInstanceId;
        /// <summary>
        /// The id of the execution that executed this activity instance.
        /// </summary>
        public string ExecutionId;
        /// <summary>
        /// The id of the task that is associated to this activity instance. Is only set if the activity is a user task.
        /// </summary>
        public string TaskId;
        /// <summary>
        /// The id of the called process instance. Is only set if the activity is a call activity and the called instance a process instance.
        /// </summary>
        public string CalledProcessInstanceId;
        /// <summary>
        /// The id of the called case instance. Is only set if the activity is a call activity and the called instance a case instance.
        /// </summary>
        public string CalledCaseInstanceId;
        /// <summary>
        /// The assignee of the task that is associated to this activity instance. Is only set if the activity is a user task.
        /// </summary>
        public string Assignee;
        /// <summary>
        /// The time the instance was started. Has the format yyyy-MM-dd'T'HH:mm:ss.
        /// </summary>
        public DateTime StartTime;
        /// <summary>
        /// The time the instance ended. Has the format yyyy-MM-dd'T'HH:mm:ss.
        /// </summary>
        public DateTime EndTime;
        /// <summary>
        /// The time the instance took to finish (in milliseconds).
        /// </summary>
        public long DurationInMillis;
        /// <summary>
        /// If true, this activity instance is canceled.
        /// </summary>
        public bool Canceled;
        /// <summary>
        /// If true, this activity instance did complete a BPMN 2.0 scope.
        /// </summary>
        public bool CompleteScope;
        /// <summary>
        /// The tenant id of the activity instance.
        /// </summary>
        public string TenantId;

        public override string ToString() => Id;
    }
}


================================================
FILE: Camunda.Api.Client/History/HistoricActivityInstanceQuery.cs
================================================
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Camunda.Api.Client.History
{
    public class HistoricActivityInstanceQuery : SortableQuery<HistoricActivityInstanceQuerySorting, HistoricActivityInstanceQuery>
    {
        /// <summary>
        /// Filter by activity instance id.
        /// </summary>
        public string ActivityInstanceId;
        /// <summary>
        /// Filter by process instance id.
        /// </summary>
        public string ProcessInstanceId;
        /// <summary>
        /// Filter by process definition id.
        /// </summary>
        public string ProcessDefinitionId;
        /// <summary>
        /// Filter by the id of the execution that executed the activity instance.
        /// </summary>
        public string ExecutionId;
        /// <summary>
        /// Filter by the activity id (according to BPMN 2.0 XML).
        /// </summary>
        public string ActivityId;
        /// <summary>
        /// Filter by the activity name (according to BPMN 2.0 XML).
        /// </summary>
        public string ActivityName;
        /// <summary>
        /// Filter by activity type.
        /// </summary>
        public string ActivityType;
        /// <summary>
        /// Only include activity instances that are user tasks and assigned to a given user.
        /// </summary>
        public string TaskAssignee;
        /// <summary>
        /// Only include finished activity instances.
        /// </summary>
        public bool Finished;
        /// <summary>
        /// Only include unfinished activity instances. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool Unfinished;
        /// <summary>
        /// Only include activity instances which completed a scope. 
        /// </summary>
        public bool CompleteScope;
        /// <summary>
        /// Only include canceled activity instances. Value may only be true, as false is the default behavior.
        /// </summary>
        public bool Canceled;
        /// <summary>
        /// Restrict to instances that were started before the given date.
        /// </summary>
        public DateTime? StartedBefore;
        /// <summary>
        /// Restrict to instances that were started after the given date.
        /// </summary>
        public DateTime? StartedAfter;
        /// <summary>
        /// Restrict to instances that were finished before the given date.
        /// </summary>
        public DateTime? FinishedBefore;
        /// <summary>
        /// Restrict to instances that were finished after the given date.
        /// </summary>
        public DateTime? FinishedAfter;
        /// <summary>
        /// Filter by a list of tenant ids. An activity instance must have one of the given tenant ids.
        /// </summary>
        [JsonProperty("tenantIdIn")]
        public List<string> TenantIds;
    }

    public enum HistoricActivityInstanceQuerySorting
    {
        ActivityInstanceId,
        InstanceId,
        ExecutionId,
        ActivityId,
        ActivityName,
        ActivityType,
        StartTime,
        EndTime,
        Duration,
        DefinitionId,
        TenantId
    }
}


================================================
FILE: Camunda.Api.Client/History/HistoricActivityInstanceResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.History
{
    public class HistoricActivityInstanceResource
    {
        private IHistoricActivityInstanceRestService _api;
        private string _activityInstanceId;

        internal HistoricActivityInstanceResource(IHistoricActivityInstanceRestService api, string activityInstanceId)
        {
            _api = api;
            _activityInstanceId = activityInstanceId;
        }

        /// <summary>
        /// Retrieves a historic activity instance by id, according to the <see cref="HistoricActivityInstance"/> interface in the engine.
        /// </summary>
        public Task<HistoricActivityInstance> Get() => _api.Get(_activityInstanceId);
    }
}


================================================
FILE: Camunda.Api.Client/History/HistoricActivityInstanceService.cs
================================================
namespace Camunda.Api.Client.History
{
    public class HistoricActivityInstanceService
    {
        private IHistoricActivityInstanceRestService _api;

        internal HistoricActivityInstanceService(IHistoricActivityInstanceRestService api)
        {
            _api = api;
        }

        public QueryResource<HistoricActivityInstanceQuery, HistoricActivityInstance> Query(
            HistoricActivityInstanceQuery query = null) =>
            new QueryResource<HistoricActivityInstanceQuery, HistoricActivityInstance>(query, _api.GetList, _api.GetListCount);

        /// <param name="activityInstanceId">The id of the historic activity instance to be retrieved.</param>
        public HistoricActivityInstanceResource this[string activityInstanceId] => new HistoricActivityInstanceResource(_api, activityInstanceId);
    }
}


================================================
FILE: Camunda.Api.Client/History/HistoricActivityStatistics.cs
================================================
using Newtonsoft.Json;
using System;
using System.Collections.Generic;

namespace Camunda.Api.Client.History
{
    public class HistoricActivityStatistics : QueryParameters
    {
        /// <summary>
        /// Whether to include the number of canceled activity instances in the result or not. Valid values are true or false. Default: false.
        /// </summary>
        public bool Canceled;

        /// <summary>
        /// Whether to include the number of finished activity instances in the result or not. Valid values are true or false. Default: false.
        /// </summary>
        public bool Finished;

        /// <summary>
        /// Whether to include the number of activity instances which completed a scope in the result or not. Valid values are true or false. Default: false.
        /// </summary>
        public bool CompleteScope;

        /// <summary>
        /// Whether to include the number of incidents. Valid values are true or false. Default: false.
        /// </summary>
        public bool Incidents;

        /// <summary>
        /// Restrict to instances that were started before the given date.
        /// </summary>
        public DateTime? StartedBefore;

        /// <summary>
        /// Restrict to instances that were started after the given date.
        /// </summary>
        public DateTime? StartedAfter;

        /// <summary>
        /// Restrict to instances that were finished before the given date.
        /// </summary>
        public DateTime? FinishedBefore;

        /// <summary>
        /// Restrict to instances that were finished after the given date.
        /// </summary>
        public DateTime? FinishedAfter;

        /// <summary>
        /// Filter by the key of the process definition the instances run on.
        /// </summary>
        [JsonProperty("processInstanceIdIn")]
        public List<string> ProcessInstanceIds;

        /// <summary>
        /// Sort the results by a given criterion. A valid value is activityId. Must be used in conjunction with the sortOrder parameter.
        /// </summary>
        public HistoricActivityStatisticsSorting SortBy;

        /// <summary>
        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.
        /// </summary>
        public SortOrder SortOrder;
    }

    public enum HistoricActivityStatisticsSorting
    {
        ActivityId
    }
}

================================================
FILE: Camunda.Api.Client/History/HistoricActivityStatisticsResult.cs
================================================
namespace Camunda.Api.Client.History
{
    public class HistoricActivityStatisticsResult
    {
        /// <summary>
        /// The id of the activity the results are aggregated for.
        /// </summary>
        public string Id;

        /// <summary>
        /// The total number of all running instances of the activity.
        /// </summary>
        public int Instances;

        /// <summary>
        /// The total number of all canceled instances of the activity. Note: Will be 0 (not null), if canceled activity instances were excluded.
        /// </summary>
        public int Canceled;

        /// <summary>
        /// The total number of all finished instances of the activity. Note: Will be 0 (not null), if finished activity instances were excluded. 
        /// </summary>
        public int Finished;

        /// <summary>
        /// The total number of all instances which completed a scope of the activity. Note: Will be 0 (not null), if activity instances which completed a scope were excluded.
        /// </summary>
        public int CompleteScope;

        /// <summary>
        /// The total number of open incident for the activity. Note: Will be 0 (not null), if incidents is set to false.
        /// </summary>
        public int OpenIncidents;

        /// <summary>
        /// The total number of resolved incident for the activity. Note: Will be 0 (not null), if incidents is set to false.
        /// </summary>
        public int ResolvedIncidents;

        /// <summary>
        /// The total number of deleted incident for the activity. Note: Will be 0 (not null), if incidents is set to false.
        /// </summary>
        public int DeletedIncidents;

        public override string ToString() => Id.ToString();
    }
}


================================================
FILE: Camunda.Api.Client/History/HistoricCaseActivityInstance.cs
================================================
using System;

namespace Camunda.Api.Client.History
{
    public class HistoricCaseActivityInstance
    {
        /// <summary>
        /// The id of the case activity instance.
        /// </summary>
        public string Id;

        /// <summary>
        /// If true, this case activity instance is active.
        /// </summary>
        public bool Active;

        /// <summary>
        /// If true, this case activity instance is available.
        /// </summary>
        public bool Available;

        /// <summary>
        /// The id of the called case instance. Is only set if the case activity is a case task.
        /// </summary>
        public string CalledCaseInstanceId;

        /// <summary>
        /// The id of the called process instance. Is only set if the case activity is a process task.
        /// </summary>
        public string CalledProcessInstanceId;

        /// <summary>
        /// The id of the case activity that this object is an instance of.
        /// </summary>
        public string CaseActivityId;

        /// <summary>
        /// The name of the case activity that this object is an instance of.
        /// </summary>
        public string CaseActivityName;

        /// <summary>
        /// The type of the activity this case execution belongs to.
        /// </summary>
        public string CaseActivityType;

        /// <summary>
        /// The id of the case definition that this case activity instance belongs to.
        /// </summary>
        public string CaseDefinitionId;

        /// <summary>
        /// The id of the case execution that executed this case activity instance.
        /// </summary>
        public string CaseExecutionId;

        /// <summary>
        /// The id of the case instance that this case activity instance belongs to.
        /// </summary>
        public string CaseInstanceId;

        /// <summary>
        /// If true, this case activity instance is completed.
        /// </summary>
        public bool Completed;

        /// <summary>
        /// The time the instance was created. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.
        /// </summary>
        public DateTime CreateTime;

        /// <summary>
        /// If true, this case activity instance is disabled.
        /// </summary>
        public bool Disabled;

        /// <summary>
        /// The time the instance took to finish (in milliseconds).
        /// </summary>
        public int DurationInMillis;

        /// <summary>
        /// If true, this case activity instance is enabled.
        /// </summary>
        public bool Enabled;

        /// <summary>
        /// The time the instance ended. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.
        /// </summary>
        public DateTime EndTime;

        /// <summary>
        /// The id of the parent case activity instance.
        /// </summary>
        public string ParentCaseActivityInstanceId;

        /// <summary>
        /// If true, this case activity instance is repeatable.
        /// </summary>
        public bool Repeatable;

        /// <summary>
        /// If true, this case activity instance is a repetition.
        /// </summary>
        public bool Repetition;

        /// <summary>
        /// If true, this case activity instance is required.
        /// </summary>
        public bool Required;

        /// <summary>
        /// The id of the task that is associated to this case activity instance. Is only set if the case activity is a human task.
        /// </summary>
        public string TaskId;

        /// <summary>
        /// The tenant id of the case activity instance.
        /// </summary>
        public string TenantId;

        /// <summary>
        /// If true, this case activity instance is terminated.
        /// </summary>
        public bool Terminated;

        public override string ToString() => Id;
    }
}

================================================
FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceQuery.cs
================================================
namespace Camunda.Api.Client.History
{
    public class HistoricCaseActivityInstanceQuery : SortableQuery<HistoricCaseActivityInstanceQuerySorting, HistoricCaseActivityInstanceQuery>
    {
        /// <summary>
        /// Filter by case instance id.
        /// </summary>
        public string CaseInstanceId;
    }

    public enum HistoricCaseActivityInstanceQuerySorting
    {
        CaseActivityInstanceID,
        CaseInstanceId,
        CaseExecutionId,
        CaseActivityId,
        CaseActivityName,
        CreateTime,
        EndTime,
        Duration,
        CaseDefinitionId,
        TenantId
    }
}

================================================
FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceQueryResource.cs
================================================
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Camunda.Api.Client.History
{
    public class HistoricCaseActivityInstanceQueryResource
    {
        private IHistoricCaseActivityInstanceRestService _api;
        private HistoricCaseActivityInstanceQuery _query;

        internal HistoricCaseActivityInstanceQueryResource(IHistoricCaseActivityInstanceRestService api, HistoricCaseActivityInstanceQuery query)
        {
            _api = api;
            _query = query;
        }

        /// <summary>
        /// Query for variable instances that fulfill given parameters.
        /// </summary>
        public Task<List<HistoricCaseActivityInstance>> List() => _api.GetList(_query.CaseInstanceId, null, null);

        /// <summary>
        /// Query for variable instances that fulfill given parameters.
        /// </summary>
        /// <param name="firstResult">Pagination of results. Specifies the index of the first result to return.</param>
        /// <param name="maxResults">Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left.</param>
        public Task<List<HistoricCaseActivityInstance>> List(int firstResult, int maxResults) => _api.GetList(_query.CaseInstanceId, firstResult, maxResults);

        // TODO: Count
    }
}

================================================
FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceResource.cs
================================================
using System.Threading.Tasks;

namespace Camunda.Api.Client.History
{
    public class HistoricCaseActivityInstanceResource
    {
        private IHistoricCaseActivityInstanceRestService _api;
        private string _caseActivityInstanceId;

        internal HistoricCaseActivityInstanceResource(IHistoricCaseActivityInstanceRestService api, string caseActivityInstanceId)
        {
            _api = api;
            _caseActivityInstanceId = caseActivityInstanceId;
        }

        /// <summary>
        /// Retrieves a historic case activity instance by id, according to the <see cref="HistoricCaseActivityInstance"/> interface in the engine.
        /// </summary>
        public Task<HistoricCaseActivityInstance> Get() => _api.Get(_caseActivityInstanceId);
    }
}

================================================
FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceService.cs
================================================
name
Download .txt
gitextract_dm5kiy9h/

├── .gitattributes
├── .gitignore
├── Camunda.Api.Client/
│   ├── ApiException.cs
│   ├── Batch/
│   │   └── BatchInfo.cs
│   ├── BinaryDataContent.cs
│   ├── Camunda.Api.Client.csproj
│   ├── CamundaClient.cs
│   ├── CaseDefinition/
│   │   ├── CaseDefinitionDiagram.cs
│   │   ├── CaseDefinitionInfo.cs
│   │   ├── CaseDefinitionQuery.cs
│   │   ├── CaseDefinitionResource.cs
│   │   ├── CaseDefinitionResourceById.cs
│   │   ├── CaseDefinitionResourceByKey.cs
│   │   ├── CaseDefinitionResourceByKeyAndTenantId.cs
│   │   ├── CaseDefinitionService.cs
│   │   ├── CreateCaseInstance.cs
│   │   └── ICaseDefinitionRestService.cs
│   ├── CaseExecution/
│   │   ├── CaseExecutionComplete.cs
│   │   ├── CaseExecutionDisable.cs
│   │   ├── CaseExecutionInfo.cs
│   │   ├── CaseExecutionQuery.cs
│   │   ├── CaseExecutionReEnable.cs
│   │   ├── CaseExecutionResource.cs
│   │   ├── CaseExecutionService.cs
│   │   ├── CaseExecutionStart.cs
│   │   ├── CaseExecutionTerminate.cs
│   │   └── ICaseExecutionRestService.cs
│   ├── CaseInstance/
│   │   ├── CaseInstanceDeleteVariable.cs
│   │   ├── CaseInstanceInfo.cs
│   │   ├── CaseInstanceQuery.cs
│   │   ├── CaseInstanceQueryVariable.cs
│   │   ├── CaseInstanceResource.cs
│   │   ├── CaseInstanceService.cs
│   │   ├── CaseInstanceSorting.cs
│   │   ├── CaseInstanceVariableValue.cs
│   │   ├── ChangeCaseInstanceState.cs
│   │   ├── ICaseInstanceRestService.cs
│   │   └── VariableResource.cs
│   ├── ConditionQueryParameter.cs
│   ├── CountResult.cs
│   ├── DateTimeExtensions.cs
│   ├── DecisionDefinition/
│   │   ├── DecisionDefinitionDiagram.cs
│   │   ├── DecisionDefinitionInfo.cs
│   │   ├── DecisionDefinitionQuery.cs
│   │   ├── DecisionDefinitionResource.cs
│   │   ├── DecisionDefinitionResourceById.cs
│   │   ├── DecisionDefinitionResourceByKey.cs
│   │   ├── DecisionDefinitionResourceByKeyAndTenantId.cs
│   │   ├── DecisionDefinitionService.cs
│   │   ├── EvaluateDecision.cs
│   │   └── IDecisionDefinitionRestService.cs
│   ├── Deployment/
│   │   ├── DeploymentInfo.cs
│   │   ├── DeploymentQuery.cs
│   │   ├── DeploymentResource.cs
│   │   ├── DeploymentResourceInfo.cs
│   │   ├── DeploymentResourcesResource.cs
│   │   ├── DeploymentService.cs
│   │   ├── IDeploymentRestService.cs
│   │   ├── RedeploymentInfo.cs
│   │   └── ResourceDataContent.cs
│   ├── EnumerableExtensions.cs
│   ├── ErrorMessageHandler.cs
│   ├── Execution/
│   │   ├── EventSubscription.cs
│   │   ├── EventSubscriptionResource.cs
│   │   ├── ExecutionInfo.cs
│   │   ├── ExecutionQuery.cs
│   │   ├── ExecutionResource.cs
│   │   ├── ExecutionService.cs
│   │   ├── ExecutionTrigger.cs
│   │   ├── IExecutionRestService.cs
│   │   └── LocalVariableResource.cs
│   ├── ExternalTask/
│   │   ├── CompleteExternalTask.cs
│   │   ├── ExternalTaskBpmnError.cs
│   │   ├── ExternalTaskExtendLock.cs
│   │   ├── ExternalTaskFailure.cs
│   │   ├── ExternalTaskInfo.cs
│   │   ├── ExternalTaskQuery.cs
│   │   ├── ExternalTaskResource.cs
│   │   ├── ExternalTaskService.cs
│   │   ├── FetchExternalTaskTopic.cs
│   │   ├── FetchExternalTasks.cs
│   │   ├── IExternalTaskRestService.cs
│   │   └── LockedExternalTask.cs
│   ├── Filter/
│   │   ├── FilterInfo.cs
│   │   ├── FilterQuery.cs
│   │   ├── FilterResource.cs
│   │   ├── FilterService.cs
│   │   └── IFilterRestService.cs
│   ├── Group/
│   │   ├── GroupInfo.cs
│   │   ├── GroupQuery.cs
│   │   ├── GroupResource.cs
│   │   ├── GroupService.cs
│   │   └── IGroupRestService.cs
│   ├── History/
│   │   ├── AbstractReport.cs
│   │   ├── CleanableProcessInstanceReport.cs
│   │   ├── CleanableProcessInstanceReportCount.cs
│   │   ├── CleanableProcessInstanceReportResult.cs
│   │   ├── CountReportResult.cs
│   │   ├── DeleteHistoricProcessInstances.cs
│   │   ├── DurationReportResult.cs
│   │   ├── HistoricActivityInstance.cs
│   │   ├── HistoricActivityInstanceQuery.cs
│   │   ├── HistoricActivityInstanceResource.cs
│   │   ├── HistoricActivityInstanceService.cs
│   │   ├── HistoricActivityStatistics.cs
│   │   ├── HistoricActivityStatisticsResult.cs
│   │   ├── HistoricCaseActivityInstance.cs
│   │   ├── HistoricCaseActivityInstanceQuery.cs
│   │   ├── HistoricCaseActivityInstanceQueryResource.cs
│   │   ├── HistoricCaseActivityInstanceResource.cs
│   │   ├── HistoricCaseActivityInstanceService.cs
│   │   ├── HistoricCaseDefinitionResource.cs
│   │   ├── HistoricCaseDefinitionService.cs
│   │   ├── HistoricCaseDefinitionStatisticsResult.cs
│   │   ├── HistoricCaseInstance.cs
│   │   ├── HistoricCaseInstanceQuery.cs
│   │   ├── HistoricCaseInstanceResource.cs
│   │   ├── HistoricCaseInstanceService.cs
│   │   ├── HistoricDecisionInstance.cs
│   │   ├── HistoricDecisionInstanceInputValue.cs
│   │   ├── HistoricDecisionInstanceOutputValue.cs
│   │   ├── HistoricDecisionInstanceQuery.cs
│   │   ├── HistoricDecisionInstanceResource.cs
│   │   ├── HistoricDecisionInstanceService.cs
│   │   ├── HistoricDetail.cs
│   │   ├── HistoricDetailQuery.cs
│   │   ├── HistoricDetailResource.cs
│   │   ├── HistoricDetailService.cs
│   │   ├── HistoricExternalTaskLog.cs
│   │   ├── HistoricExternalTaskLogQuery.cs
│   │   ├── HistoricExternalTaskLogResource.cs
│   │   ├── HistoricExternalTaskLogService.cs
│   │   ├── HistoricIncident.cs
│   │   ├── HistoricIncidentQuery.cs
│   │   ├── HistoricIncidentService.cs
│   │   ├── HistoricJobLog.cs
│   │   ├── HistoricJobLogQuery.cs
│   │   ├── HistoricJobLogResource.cs
│   │   ├── HistoricJobLogService.cs
│   │   ├── HistoricProcessDefinitionService.cs
│   │   ├── HistoricProcessInstance.cs
│   │   ├── HistoricProcessInstanceQuery.cs
│   │   ├── HistoricProcessInstanceReport.cs
│   │   ├── HistoricProcessInstanceResource.cs
│   │   ├── HistoricProcessInstanceService.cs
│   │   ├── HistoricTask.cs
│   │   ├── HistoricTaskCountReport.cs
│   │   ├── HistoricTaskDurationReport.cs
│   │   ├── HistoricTaskQuery.cs
│   │   ├── HistoricUserTaskService.cs
│   │   ├── HistoricVariableInstance.cs
│   │   ├── HistoricVariableInstanceQuery.cs
│   │   ├── HistoricVariableInstanceQueryResource.cs
│   │   ├── HistoricVariableInstanceResource.cs
│   │   ├── HistoricVariableInstanceService.cs
│   │   ├── HistoryService.cs
│   │   ├── IHistoricActivityInstanceRestService.cs
│   │   ├── IHistoricCaseActivityInstanceRestService.cs
│   │   ├── IHistoricCaseDefinitionRestService.cs
│   │   ├── IHistoricCaseInstanceRestService.cs
│   │   ├── IHistoricDecisionInstanceRestService.cs
│   │   ├── IHistoricDetailRestService.cs
│   │   ├── IHistoricExternalTaskLogRestService.cs
│   │   ├── IHistoricIncidentRestService.cs
│   │   ├── IHistoricJobLogRestService.cs
│   │   ├── IHistoricProcessDefinitionRestService.cs
│   │   ├── IHistoricProcessInstanceRestService.cs
│   │   ├── IHistoricUserTaskRestService.cs
│   │   ├── IHistoricVariableInstanceRestService.cs
│   │   └── ReportResult.cs
│   ├── HttpContentMultipartItem.cs
│   ├── IVariableResource.cs
│   ├── Identity/
│   │   ├── IIdentityRestService.cs
│   │   ├── IdentityGroupMembership.cs
│   │   ├── IdentityQuery.cs
│   │   ├── IdentityService.cs
│   │   ├── IdentityUserCredentials.cs
│   │   └── IdentityVerifiedUser.cs
│   ├── Incident/
│   │   ├── IIncidentRestService.cs
│   │   ├── IncidentInfo.cs
│   │   ├── IncidentQuery.cs
│   │   └── IncidentService.cs
│   ├── Job/
│   │   ├── IJobRestService.cs
│   │   ├── JobDuedateInfo.cs
│   │   ├── JobInfo.cs
│   │   ├── JobQuery.cs
│   │   ├── JobResource.cs
│   │   ├── JobRetries.cs
│   │   ├── JobService.cs
│   │   └── JobSuspensionState.cs
│   ├── JobDefinition/
│   │   ├── IJobDefinitionRestService.cs
│   │   ├── JobDefinitionInfo.cs
│   │   ├── JobDefinitionPriority.cs
│   │   ├── JobDefinitionQuery.cs
│   │   ├── JobDefinitionResource.cs
│   │   ├── JobDefinitionService.cs
│   │   └── JobDefinitionSuspensionState.cs
│   ├── MediaTypes.cs
│   ├── Message/
│   │   ├── CorrelationMessage.cs
│   │   ├── CorrelationResult.cs
│   │   ├── IMessageRestService.cs
│   │   └── MessageService.cs
│   ├── Migration/
│   │   ├── IMigrationRestService.cs
│   │   ├── MigrationExecution.cs
│   │   ├── MigrationInstruction.cs
│   │   ├── MigrationInstructionValidationReport.cs
│   │   ├── MigrationPlan.cs
│   │   ├── MigrationPlanGeneration.cs
│   │   ├── MigrationPlanReport.cs
│   │   └── MigrationService.cs
│   ├── NamedVariableValue.cs
│   ├── PatchVariables.cs
│   ├── PlainTextContent.cs
│   ├── PriorityInfo.cs
│   ├── ProcessDefinition/
│   │   ├── FormInfo.cs
│   │   ├── IProcessDefinitionRestService.cs
│   │   ├── IncidentStatisticsResult.cs
│   │   ├── ProcessDefinitionDiagram.cs
│   │   ├── ProcessDefinitionInfo.cs
│   │   ├── ProcessDefinitionQuery.cs
│   │   ├── ProcessDefinitionResource.cs
│   │   ├── ProcessDefinitionResourceById.cs
│   │   ├── ProcessDefinitionResourceByKey.cs
│   │   ├── ProcessDefinitionResourceByKeyAndTenantId.cs
│   │   ├── ProcessDefinitionService.cs
│   │   ├── ProcessDefinitionStatisticsResult.cs
│   │   ├── ProcessDefinitionSuspensionState.cs
│   │   ├── StartProcessInstance.cs
│   │   ├── StatisticsResult.cs
│   │   └── SubmitStartForm.cs
│   ├── ProcessInstance/
│   │   ├── ActivityInstanceInfo.cs
│   │   ├── DeleteProcessInstances.cs
│   │   ├── IProcessInstanceRestService.cs
│   │   ├── JobRetriesByProcess.cs
│   │   ├── ProcessInstanceInfo.cs
│   │   ├── ProcessInstanceModification.cs
│   │   ├── ProcessInstanceModificationInstruction.cs
│   │   ├── ProcessInstanceQuery.cs
│   │   ├── ProcessInstanceResource.cs
│   │   ├── ProcessInstanceService.cs
│   │   ├── ProcessInstanceSuspensionState.cs
│   │   ├── ProcessInstanceWithVariables.cs
│   │   ├── TransitionInstanceInfo.cs
│   │   ├── TriggerVariableValue.cs
│   │   └── VariableResource.cs
│   ├── QueryParameters.cs
│   ├── QueryResource.cs
│   ├── RestError.cs
│   ├── RetriesInfo.cs
│   ├── Signal/
│   │   ├── ISignalRestService.cs
│   │   ├── Signal.cs
│   │   └── SignalService.cs
│   ├── SortOrder.cs
│   ├── SortableQuery.cs
│   ├── SortingInfo.cs
│   ├── StringEnumConverter.cs
│   ├── StringExtensions.cs
│   ├── SuspensionState.cs
│   ├── Tenant/
│   │   ├── ITenantRestService.cs
│   │   ├── TenantInfo.cs
│   │   ├── TenantQuery.cs
│   │   └── TenantService.cs
│   ├── User/
│   │   ├── CreateUser.cs
│   │   ├── IUserRestService.cs
│   │   ├── UserCredentialsInfo.cs
│   │   ├── UserProfileInfo.cs
│   │   ├── UserQuery.cs
│   │   ├── UserResource.cs
│   │   └── UserService.cs
│   ├── UserInfo.cs
│   ├── UserTask/
│   │   ├── AttachmentContent.cs
│   │   ├── AttachmentInfo.cs
│   │   ├── Comment.cs
│   │   ├── CommentInfo.cs
│   │   ├── CompleteTask.cs
│   │   ├── DelegationState.cs
│   │   ├── IUserTaskRestService.cs
│   │   ├── IdentityLink.cs
│   │   ├── LocalVariableResource.cs
│   │   ├── ResolveTask.cs
│   │   ├── TaskAttachmentResource.cs
│   │   ├── TaskCommentResource.cs
│   │   ├── TaskCountByCandidateGroupResult.cs
│   │   ├── TaskIdentityLinkResource.cs
│   │   ├── TaskQuery.cs
│   │   ├── TaskResource.cs
│   │   ├── UserTask.cs
│   │   ├── UserTaskInfo.cs
│   │   ├── UserTaskService.cs
│   │   └── VariableResource.cs
│   ├── ValueTypeContent.cs
│   ├── VariableInstance/
│   │   ├── IVariableInstanceRestService.cs
│   │   ├── VariableInstanceInfo.cs
│   │   ├── VariableInstanceQuery.cs
│   │   ├── VariableInstanceQueryResource.cs
│   │   ├── VariableInstanceResource.cs
│   │   └── VariableInstanceService.cs
│   ├── VariableOrder.cs
│   ├── VariableQueryParameter.cs
│   └── VariableValue.cs
├── Camunda.Api.Client.Tests/
│   ├── Camunda.Api.Client.Tests.csproj
│   ├── DateTimeTests.cs
│   └── ProcessInstanceTests.cs
├── Camunda.Api.Client.sln
├── Key.snk
├── LICENSE
└── README.md
Download .txt
SYMBOL INDEX (1259 symbols across 299 files)

FILE: Camunda.Api.Client.Tests/DateTimeTests.cs
  class DateTimeTests (line 14) | public class DateTimeTests
    method GetDateTime (line 16) | [Theory]

FILE: Camunda.Api.Client.Tests/ProcessInstanceTests.cs
  class ProcessInstanceTests (line 12) | public class ProcessInstanceTests
    method GetList (line 14) | [Fact]

FILE: Camunda.Api.Client/ApiException.cs
  class ApiException (line 11) | [JsonObject(MemberSerialization.OptIn)]
    method ApiException (line 21) | public ApiException(string type, string message, HttpResponseMessage r...
    method GetConstructor (line 27) | private static Func<string, string, HttpResponseMessage, ApiException>...
    method FromRestError (line 52) | public static ApiException FromRestError(RestError restError, HttpResp...
  class AuthorizationException (line 65) | public class AuthorizationException : ApiException
    method AuthorizationException (line 76) | public AuthorizationException(string type, string message, HttpRespons...
  class RuntimeException (line 83) | public class RuntimeException : ApiException
    method RuntimeException (line 85) | public RuntimeException(string type, string message, HttpResponseMessa...
  class RestException (line 89) | public class RestException : RuntimeException
    method RestException (line 91) | public RestException(string type, string message, HttpResponseMessage ...
  class InvalidRequestException (line 98) | public class InvalidRequestException : RestException
    method InvalidRequestException (line 100) | public InvalidRequestException(string type, string message, HttpRespon...
  class ProcessEngineException (line 107) | public class ProcessEngineException : RuntimeException
    method ProcessEngineException (line 109) | public ProcessEngineException(string type, string message, HttpRespons...
  class BadUserRequestException (line 116) | public class BadUserRequestException : ProcessEngineException
    method BadUserRequestException (line 118) | public BadUserRequestException(string type, string message, HttpRespon...
  class BpmnParseException (line 125) | public class BpmnParseException : ProcessEngineException
    method BpmnParseException (line 127) | public BpmnParseException(string type, string message, HttpResponseMes...
  class ClassLoadingException (line 134) | public class ClassLoadingException : ProcessEngineException
    method ClassLoadingException (line 139) | public ClassLoadingException(string type, string message, HttpResponse...
  class OptimisticLockingException (line 146) | public class OptimisticLockingException : ProcessEngineException
    method OptimisticLockingException (line 148) | public OptimisticLockingException(string type, string message, HttpRes...
  class ScriptEngineException (line 155) | public class ScriptEngineException : ProcessEngineException
    method ScriptEngineException (line 157) | public ScriptEngineException(string type, string message, HttpResponse...
  class TaskAlreadyClaimedException (line 164) | public class TaskAlreadyClaimedException : ProcessEngineException
    method TaskAlreadyClaimedException (line 166) | public TaskAlreadyClaimedException(string type, string message, HttpRe...
  class WrongDbException (line 173) | public class WrongDbException : ProcessEngineException
    method WrongDbException (line 175) | public WrongDbException(string type, string message, HttpResponseMessa...
  class BpmnError (line 184) | public class BpmnError : ProcessEngineException
    method BpmnError (line 191) | public BpmnError(string type, string message, HttpResponseMessage resp...
  class DeploymentResourceNotFoundException (line 195) | public class DeploymentResourceNotFoundException : ProcessEngineException
    method DeploymentResourceNotFoundException (line 197) | public DeploymentResourceNotFoundException(string type, string message...
  class NullValueException (line 201) | public class NullValueException : ProcessEngineException
    method NullValueException (line 203) | public NullValueException(string type, string message, HttpResponseMes...
  class CaseException (line 210) | public class CaseException : ProcessEngineException
    method CaseException (line 212) | public CaseException(string type, string message, HttpResponseMessage ...
  class DecisionException (line 219) | public class DecisionException : ProcessEngineException
    method DecisionException (line 221) | public DecisionException(string type, string message, HttpResponseMess...
  class FormException (line 225) | public class FormException : ProcessEngineException
    method FormException (line 227) | public FormException(string type, string message, HttpResponseMessage ...
  class IdentityProviderException (line 234) | public class IdentityProviderException : ProcessEngineException
    method IdentityProviderException (line 236) | public IdentityProviderException(string type, string message, HttpResp...
  class ELException (line 243) | public class ELException : ProcessEngineException
    method ELException (line 245) | public ELException(string type, string message, HttpResponseMessage re...
  class PvmException (line 249) | public class PvmException : ProcessEngineException
    method PvmException (line 251) | public PvmException(string type, string message, HttpResponseMessage r...
  class MigratingProcessInstanceValidationException (line 258) | public class MigratingProcessInstanceValidationException : ProcessEngine...
    method MigratingProcessInstanceValidationException (line 260) | public MigratingProcessInstanceValidationException(string type, string...
  class ProcessEngineCdiException (line 267) | public class ProcessEngineCdiException : ProcessEngineException
    method ProcessEngineCdiException (line 269) | public ProcessEngineCdiException(string type, string message, HttpResp...
  class ServerBootstrapException (line 276) | public class ServerBootstrapException : RuntimeException
    method ServerBootstrapException (line 278) | public ServerBootstrapException(string type, string message, HttpRespo...
  class JSONException (line 285) | public class JSONException : RuntimeException
    method JSONException (line 287) | public JSONException(string type, string message, HttpResponseMessage ...
  class HalRelationCacheConfigurationException (line 291) | public class HalRelationCacheConfigurationException : RuntimeException
    method HalRelationCacheConfigurationException (line 293) | public HalRelationCacheConfigurationException(string type, string mess...

FILE: Camunda.Api.Client/Batch/BatchInfo.cs
  class BatchInfo (line 3) | public class BatchInfo

FILE: Camunda.Api.Client/BinaryDataContent.cs
  class BinaryDataContent (line 8) | public class BinaryDataContent : StreamContent
    method BinaryDataContent (line 12) | public BinaryDataContent(Stream stream, string fileName = "unspecified...

FILE: Camunda.Api.Client/CamundaClient.cs
  class CamundaClient (line 36) | public class CamundaClient
    class HistoricApi (line 70) | internal class HistoricApi
    method CamundaClient (line 87) | static CamundaClient()
    class CustomIsoDateTimeConverter (line 101) | private class CustomIsoDateTimeConverter : Newtonsoft.Json.Converters....
      method CustomIsoDateTimeConverter (line 103) | public CustomIsoDateTimeConverter()
      method WriteJson (line 108) | public override void WriteJson(JsonWriter writer, object value, Json...
      method ReadJson (line 126) | public override object ReadJson(JsonReader reader, Type objectType, ...
    method Initialize (line 148) | private void Initialize()
    class CustomUrlParameterFormatter (line 160) | private class CustomUrlParameterFormatter : DefaultUrlParameterFormatter
      method Format (line 162) | public override string Format(object parameterValue, ICustomAttribut...
    class CustomCamelCasePropertyNamesContractResolver (line 171) | private class CustomCamelCasePropertyNamesContractResolver : CamelCase...
      method ResolveDictionaryKey (line 174) | protected override string ResolveDictionaryKey(string dictionaryKey)...
    method CamundaClient (line 177) | private CamundaClient(string hostUrl)
    method CamundaClient (line 184) | private CamundaClient(HttpClient httpClient)
    method CamundaClient (line 191) | private CamundaClient(string hostUrl, HttpMessageHandler httpMessageHa...
    method CreateServices (line 199) | private void CreateServices()
    method CreateService (line 241) | private Lazy<I> CreateService<I>()
    method Create (line 249) | public static CamundaClient Create(string hostUrl)
    method Create (line 254) | public static CamundaClient Create(string hostUrl, HttpMessageHandler ...
    method Create (line 259) | public static CamundaClient Create(HttpClient httpClient)

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionDiagram.cs
  class CaseDefinitionDiagram (line 3) | public class CaseDefinitionDiagram
    method ToString (line 15) | public override string ToString() => Id;

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionInfo.cs
  class CaseDefinitionInfo (line 3) | public class CaseDefinitionInfo
    method ToString (line 50) | public override string ToString() => Id;

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionQuery.cs
  class CaseDefinitionQuery (line 6) | public class CaseDefinitionQuery : QueryParameters
  type CaseDefinitionQuerySorting (line 102) | public enum CaseDefinitionQuerySorting

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResource.cs
  class CaseDefinitionResource (line 7) | public abstract class CaseDefinitionResource
    method Get (line 12) | public abstract Task<CaseDefinitionInfo> Get();
    method GetXml (line 17) | public abstract Task<CaseDefinitionDiagram> GetXml();
    method GetDiagram (line 23) | public abstract Task<HttpContent> GetDiagram();
    method CreateCaseInstance (line 28) | public abstract Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseIn...

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceById.cs
  class CaseDefinitionResourceById (line 7) | public class CaseDefinitionResourceById : CaseDefinitionResource
    method CaseDefinitionResourceById (line 12) | internal CaseDefinitionResourceById(ICaseDefinitionRestService api, st...
    method Get (line 18) | public override Task<CaseDefinitionInfo> Get() => _api.GetById(_caseDe...
    method GetXml (line 20) | public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlByI...
    method GetDiagram (line 22) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method CreateCaseInstance (line 24) | public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseIn...
    method ToString (line 26) | public override string ToString() => _caseDefinitionId;

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKey.cs
  class CaseDefinitionResourceByKey (line 7) | public class CaseDefinitionResourceByKey : CaseDefinitionResource
    method CaseDefinitionResourceByKey (line 12) | internal CaseDefinitionResourceByKey(ICaseDefinitionRestService api, s...
    method Get (line 18) | public override Task<CaseDefinitionInfo> Get() => _api.GetByKey(_caseD...
    method GetXml (line 20) | public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlByK...
    method GetDiagram (line 22) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method CreateCaseInstance (line 24) | public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseIn...
    method ToString (line 26) | public override string ToString() => _caseDefinitionKey;

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKeyAndTenantId.cs
  class CaseDefinitionResourceByKeyAndTenantId (line 7) | public class CaseDefinitionResourceByKeyAndTenantId : CaseDefinitionReso...
    method CaseDefinitionResourceByKeyAndTenantId (line 12) | internal CaseDefinitionResourceByKeyAndTenantId(ICaseDefinitionRestSer...
    method Get (line 19) | public override Task<CaseDefinitionInfo> Get() => _api.GetByKeyAndTena...
    method GetXml (line 21) | public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlByK...
    method GetDiagram (line 23) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method CreateCaseInstance (line 25) | public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseIn...
    method ToString (line 27) | public override string ToString() => _caseDefinitionKey;

FILE: Camunda.Api.Client/CaseDefinition/CaseDefinitionService.cs
  class CaseDefinitionService (line 3) | public class CaseDefinitionService
    method CaseDefinitionService (line 7) | internal CaseDefinitionService(ICaseDefinitionRestService api) { _api ...
    method ByKey (line 11) | public CaseDefinitionResource ByKey(string caseDefinitionKey) => new C...
    method ByKey (line 13) | public CaseDefinitionResource ByKey(string caseDefinitionKey, string t...
    method Query (line 15) | public QueryResource<CaseDefinitionQuery, CaseDefinitionInfo> Query(Ca...

FILE: Camunda.Api.Client/CaseDefinition/CreateCaseInstance.cs
  class CreateCaseInstance (line 5) | public class CreateCaseInstance
    method SetVariable (line 17) | public CreateCaseInstance SetVariable(string name, object value)

FILE: Camunda.Api.Client/CaseDefinition/ICaseDefinitionRestService.cs
  type ICaseDefinitionRestService (line 9) | internal interface ICaseDefinitionRestService
    method GetList (line 11) | [Get("/case-definition")]
    method GetListCount (line 13) | [Get("/case-definition/count")]
    method GetById (line 17) | [Get("/case-definition/{id}")]
    method GetByKey (line 19) | [Get("/case-definition/key/{key}")]
    method GetByKeyAndTenantId (line 21) | [Get("/case-definition/key/{key}/tenant-id/{tenantId}")]
    method GetXmlById (line 25) | [Get("/case-definition/{id}/xml")]
    method GetXmlByKey (line 27) | [Get("/case-definition/key/{key}/xml")]
    method GetXmlByKeyAndTenantId (line 29) | [Get("/case-definition/key/{key}/tenant-id/{tenantId}/xml")]
    method GetDiagramById (line 33) | [Get("/case-definition/{id}/diagram")]
    method GetDiagramByKey (line 35) | [Get("/case-definition/key/{key}/diagram")]
    method GetDiagramByKeyAndTenantId (line 37) | [Get("/case-definition/key/{key}/tenant-id/{tenantId}/diagram")]
    method CreateCaseInstanceById (line 41) | [Post("/case-definition/{id}/create")]
    method CreateCaseInstanceByKey (line 43) | [Post("/case-definition/key/{key}/create")]
    method CreateCaseInstanceByKeyAndTenantId (line 45) | [Post("/case-definition/key/{key}/tenant-id/{tenantId}/create")]

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionComplete.cs
  class CaseExecutionComplete (line 5) | public class CaseExecutionComplete

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionDisable.cs
  class CaseExecutionDisable (line 5) | public class CaseExecutionDisable

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionInfo.cs
  class CaseExecutionInfo (line 3) | public class CaseExecutionInfo
    method ToString (line 80) | public override string ToString() => Id;

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionQuery.cs
  class CaseExecutionQuery (line 6) | public class CaseExecutionQuery : QueryParameters
  type CaseExecutionQuerySorting (line 85) | public enum CaseExecutionQuerySorting

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionReEnable.cs
  class CaseExecutionReEnable (line 5) | public class CaseExecutionReEnable

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionResource.cs
  class CaseExecutionResource (line 5) | public class CaseExecutionResource
    method CaseExecutionResource (line 10) | internal CaseExecutionResource(ICaseExecutionRestService api, string c...
    method Get (line 22) | public Task<CaseExecutionInfo> Get() => _api.Get(_caseExecutionId);
    method Start (line 27) | public Task Start(CaseExecutionStart start) => _api.StartExecution(_ca...
    method Complete (line 32) | public Task Complete(CaseExecutionComplete complete) => _api.CompleteE...
    method Disable (line 37) | public Task Disable(CaseExecutionDisable disable) => _api.DisableExecu...
    method ReEnable (line 42) | public Task ReEnable(CaseExecutionReEnable reEnable) => _api.ReEnableE...
    method Terminate (line 47) | public Task Terminate(CaseExecutionTerminate terminate) => _api.Termin...

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionService.cs
  class CaseExecutionService (line 3) | public class CaseExecutionService
    method CaseExecutionService (line 7) | internal CaseExecutionService(ICaseExecutionRestService api)
    method Query (line 14) | public QueryResource<CaseExecutionQuery, CaseExecutionInfo> Query(Case...

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionStart.cs
  class CaseExecutionStart (line 5) | public class CaseExecutionStart

FILE: Camunda.Api.Client/CaseExecution/CaseExecutionTerminate.cs
  class CaseExecutionTerminate (line 5) | public class CaseExecutionTerminate

FILE: Camunda.Api.Client/CaseExecution/ICaseExecutionRestService.cs
  type ICaseExecutionRestService (line 7) | internal interface ICaseExecutionRestService
    method GetList (line 9) | [Get("/case-execution")]
    method GetListCount (line 11) | [Get("/case-execution/count")]
    method Get (line 14) | [Get("/case-execution/{id}")]
    method StartExecution (line 17) | [Post("/case-execution/{id}/manual-start")]
    method CompleteExecution (line 20) | [Post("/case-execution/{id}/complete")]
    method DisableExecution (line 23) | [Post("/case-execution/{id}/disable")]
    method ReEnableExecution (line 26) | [Post("/case-execution/{id}/reenable")]
    method TerminateExecution (line 29) | [Post("/case-execution/{id}/terminate")]

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceDeleteVariable.cs
  class CaseInstanceDeleteVariable (line 9) | public class CaseInstanceDeleteVariable

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceInfo.cs
  class CaseInstanceInfo (line 3) | public class CaseInstanceInfo
    method ToString (line 35) | public override string ToString() => Id;

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceQuery.cs
  class CaseInstanceQuery (line 10) | public class CaseInstanceQuery

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceQueryVariable.cs
  class CaseInstanceQueryVariable (line 9) | public class CaseInstanceQueryVariable

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceResource.cs
  class CaseInstanceResource (line 12) | public class CaseInstanceResource
    method CaseInstanceResource (line 17) | internal CaseInstanceResource(ICaseInstanceRestService api, string cas...
    method Get (line 27) | public Task<CaseInstanceInfo> Get() => _api.Get(_caseInstanceId);
    method Complete (line 34) | public Task Complete(ChangeCaseInstanceState completeCaseInstanceState...
    method Close (line 42) | public Task Close(ChangeCaseInstanceState closeCaseInstanceState) =>
    method Terminate (line 50) | public Task Terminate(ChangeCaseInstanceState terminateCaseInstanceSta...
    method ToString (line 56) | public override string ToString() => _caseInstanceId;

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceService.cs
  class CaseInstanceService (line 3) | public class CaseInstanceService
    method CaseInstanceService (line 7) | internal CaseInstanceService(ICaseInstanceRestService api)
    method Query (line 12) | public QueryResource<CaseInstanceQuery, CaseInstanceInfo> Query(CaseIn...

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceSorting.cs
  type CaseInstanceSorting (line 3) | public enum CaseInstanceSorting

FILE: Camunda.Api.Client/CaseInstance/CaseInstanceVariableValue.cs
  class CaseInstanceVariableValue (line 9) | public class CaseInstanceVariableValue : VariableValue

FILE: Camunda.Api.Client/CaseInstance/ChangeCaseInstanceState.cs
  class ChangeCaseInstanceState (line 10) | public class ChangeCaseInstanceState

FILE: Camunda.Api.Client/CaseInstance/ICaseInstanceRestService.cs
  type ICaseInstanceRestService (line 12) | internal interface ICaseInstanceRestService
    method GetVariables (line 14) | [Get("/case-instance/{id}/variables")]
    method GetVariableValue (line 17) | [Get("/case-instance/{id}/variables/{varName}")]
    method GetBinaryVariable (line 21) | [Get("/case-instance/{id}/variables/{varName}/data")]
    method ModifyVariables (line 24) | [Post("/case-instance/{id}/variables")]
    method UpdateVariable (line 27) | [Put("/case-instance/{id}/variables/{varName}")]
    method SetBinaryVariable (line 30) | [Post("/case-instance/{id}/variables/{varName}/data")]
    method DeleteVariable (line 33) | [Delete("/case-instance/{id}/variables/{varName}")]
    method Get (line 36) | [Get("/case-instance/{id}")]
    method GetList (line 39) | [Post("/case-instance")]
    method GetListCount (line 42) | [Post("/case-instance/count")]
    method Complete (line 45) | [Post("/case-instance/{id}/complete")]
    method Close (line 48) | [Post("/case-instance/{id}/close")]
    method Terminate (line 51) | [Post("/case-instance/{id}/terminate")]

FILE: Camunda.Api.Client/CaseInstance/VariableResource.cs
  class VariableResource (line 7) | public class VariableResource : IVariableResource
    method VariableResource (line 12) | internal VariableResource(ICaseInstanceRestService api, string caseIns...
    method GetAll (line 22) | public Task<Dictionary<string, VariableValue>> GetAll(bool deserialize...
    method Get (line 26) | public Task<VariableValue> Get(string variableName, bool deserializeVa...
    method GetBinary (line 30) | public async Task<HttpContent> GetBinary(string variableName) => (awai...
    method Set (line 34) | public Task Set(string variableName, VariableValue variable) => _api.U...
    method SetBinary (line 38) | public Task SetBinary(string variableName, BinaryDataContent data, Bin...
    method Delete (line 42) | public Task Delete(string variableName) => _api.DeleteVariable(_caseIn...
    method Modify (line 46) | public Task Modify(PatchVariables patch) => _api.ModifyVariables(_case...
    method ToString (line 48) | public override string ToString() => _caseInstanceId;

FILE: Camunda.Api.Client/ConditionQueryParameter.cs
  class ConditionQueryParameter (line 5) | public class ConditionQueryParameter
  type ConditionOperator (line 18) | public enum ConditionOperator

FILE: Camunda.Api.Client/CountResult.cs
  class CountResult (line 3) | internal class CountResult

FILE: Camunda.Api.Client/DateTimeExtensions.cs
  class DateTimeExtensions (line 13) | internal static class DateTimeExtensions
    method ToJavaISO8601 (line 17) | public static string ToJavaISO8601(this DateTime dateTime)

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionDiagram.cs
  class DecisionDefinitionDiagram (line 3) | public class DecisionDefinitionDiagram
    method ToString (line 15) | public override string ToString() => Id;

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionInfo.cs
  class DecisionDefinitionInfo (line 3) | public class DecisionDefinitionInfo
    method ToString (line 70) | public override string ToString() => Id;

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionQuery.cs
  class DecisionDefinitionQuery (line 6) | public class DecisionDefinitionQuery : QueryParameters
  type DecisionDefinitionSorting (line 102) | public enum DecisionDefinitionSorting

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResource.cs
  class DecisionDefinitionResource (line 7) | public abstract class DecisionDefinitionResource
    method Get (line 12) | public abstract Task<DecisionDefinitionInfo> Get();
    method GetXml (line 17) | public abstract Task<DecisionDefinitionDiagram> GetXml();
    method GetDiagram (line 22) | public abstract Task<HttpContent> GetDiagram();
    method Evaluate (line 27) | public abstract Task<List<Dictionary<string, VariableValue>>> Evaluate...

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceById.cs
  class DecisionDefinitionResourceById (line 7) | public class DecisionDefinitionResourceById : DecisionDefinitionResource
    method DecisionDefinitionResourceById (line 12) | internal DecisionDefinitionResourceById(IDecisionDefinitionRestService...
    method Get (line 18) | public override Task<DecisionDefinitionInfo> Get() => _api.GetById(_de...
    method GetDiagram (line 20) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method GetXml (line 22) | public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXm...
    method Evaluate (line 24) | public override Task<List<Dictionary<string, VariableValue>>> Evaluate...

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKey.cs
  class DecisionDefinitionResourceByKey (line 7) | public class DecisionDefinitionResourceByKey : DecisionDefinitionResource
    method DecisionDefinitionResourceByKey (line 12) | internal DecisionDefinitionResourceByKey(IDecisionDefinitionRestServic...
    method Get (line 18) | public override Task<DecisionDefinitionInfo> Get() => _api.GetByKey(_d...
    method GetDiagram (line 20) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method GetXml (line 22) | public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXm...
    method Evaluate (line 24) | public override Task<List<Dictionary<string, VariableValue>>> Evaluate...

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKeyAndTenantId.cs
  class DecisionDefinitionResourceByKeyAndTenantId (line 7) | public class DecisionDefinitionResourceByKeyAndTenantId : DecisionDefini...
    method DecisionDefinitionResourceByKeyAndTenantId (line 12) | internal DecisionDefinitionResourceByKeyAndTenantId(IDecisionDefinitio...
    method Get (line 19) | public override Task<DecisionDefinitionInfo> Get() => _api.GetByKeyAnd...
    method GetDiagram (line 21) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method GetXml (line 23) | public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXm...
    method Evaluate (line 25) | public override Task<List<Dictionary<string, VariableValue>>> Evaluate...

FILE: Camunda.Api.Client/DecisionDefinition/DecisionDefinitionService.cs
  class DecisionDefinitionService (line 3) | public class DecisionDefinitionService
    method DecisionDefinitionService (line 7) | internal DecisionDefinitionService(IDecisionDefinitionRestService api)
    method ByKey (line 14) | public DecisionDefinitionResource ByKey(string decisionDefinitionKey) ...
    method ByKey (line 16) | public DecisionDefinitionResource ByKey(string decisionDefinitionKey, ...
    method Query (line 18) | public QueryResource<DecisionDefinitionQuery, DecisionDefinitionInfo> ...

FILE: Camunda.Api.Client/DecisionDefinition/EvaluateDecision.cs
  class EvaluateDecision (line 5) | public class EvaluateDecision
    method SetVariable (line 12) | public EvaluateDecision SetVariable(string name, object value)

FILE: Camunda.Api.Client/DecisionDefinition/IDecisionDefinitionRestService.cs
  type IDecisionDefinitionRestService (line 8) | internal interface IDecisionDefinitionRestService
    method GetList (line 10) | [Get("/decision-definition")]
    method GetListCount (line 13) | [Get("/decision-definition/count")]
    method GetById (line 17) | [Get("/decision-definition/{id}")]
    method GetByKey (line 19) | [Get("/decision-definition/key/{key}")]
    method GetByKeyAndTenantId (line 21) | [Get("/decision-definition/key/{key}/tenant-id/{tenantId}")]
    method GetXmlById (line 25) | [Get("/decision-definition/{id}/xml")]
    method GetXmlByKey (line 27) | [Get("/decision-definition/key/{key}/xml")]
    method GetXmlByKeyAndTenantId (line 29) | [Get("/decision-definition/key/{key}/tenant-id/{tenantId}/xml")]
    method GetDiagramById (line 33) | [Get("/decision-definition/{id}/diagram")]
    method GetDiagramByKey (line 35) | [Get("/decision-definition/key/{key}/diagram")]
    method GetDiagramByKeyAndTenantId (line 37) | [Get("/decision-definition/key/{key}/tenant-id/{tenantId}/diagram")]
    method EvaluateById (line 41) | [Post("/decision-definition/{id}/evaluate")]
    method EvaluateByKey (line 43) | [Post("/decision-definition/key/{key}/evaluate")]
    method EvaluateByKeyAndTenantId (line 45) | [Post("/decision-definition/key/{key}/tenant-id/{tenantId}/evaluate")]

FILE: Camunda.Api.Client/Deployment/DeploymentInfo.cs
  class DeploymentInfo (line 5) | public class DeploymentInfo
    method ToString (line 28) | public override string ToString() => Name ?? Id;

FILE: Camunda.Api.Client/Deployment/DeploymentQuery.cs
  class DeploymentQuery (line 7) | public class DeploymentQuery : QueryParameters
  type DeploymentSorting (line 60) | public enum DeploymentSorting

FILE: Camunda.Api.Client/Deployment/DeploymentResource.cs
  class DeploymentResource (line 5) | public class DeploymentResource
    method DeploymentResource (line 10) | internal DeploymentResource(IDeploymentRestService api, string deploym...
    method Get (line 19) | public Task<DeploymentInfo> Get() => _api.Get(_deploymentId);
    method Redeploy (line 30) | public Task<DeploymentInfo> Redeploy(RedeploymentInfo redeployment) =>...
    method Delete (line 38) | public Task Delete(bool cascade = false, bool skipCustomListeners = fa...
    method ToString (line 41) | public override string ToString() => _deploymentId;

FILE: Camunda.Api.Client/Deployment/DeploymentResourceInfo.cs
  class DeploymentResourceInfo (line 4) | public class DeploymentResourceInfo
    method ToString (line 19) | public override string ToString() => Name ?? Id;

FILE: Camunda.Api.Client/Deployment/DeploymentResourcesResource.cs
  class DeploymentResourcesResource (line 7) | public class DeploymentResourcesResource
    method DeploymentResourcesResource (line 12) | internal DeploymentResourcesResource(IDeploymentRestService api, strin...
    method GetAll (line 21) | public Task<List<DeploymentResourceInfo>> GetAll() => _api.GetDeployme...
    method Get (line 26) | public Task<DeploymentResourceInfo> Get(string resourceId) => _api.Get...
    method GetData (line 31) | public async Task<HttpContent> GetData(string resourceId) => (await _a...
    method ToString (line 33) | public override string ToString() => _deploymentId;

FILE: Camunda.Api.Client/Deployment/DeploymentService.cs
  class DeploymentService (line 6) | public class DeploymentService
    method DeploymentService (line 10) | internal DeploymentService(IDeploymentRestService api) { _api = api; }
    method Query (line 14) | public QueryResource<DeploymentQuery, DeploymentInfo> Query(Deployment...
    method Create (line 33) | public Task<DeploymentInfo> Create(string deploymentName, bool duplica...
    method Create (line 52) | public Task<DeploymentInfo> Create(string deploymentName,

FILE: Camunda.Api.Client/Deployment/IDeploymentRestService.cs
  type IDeploymentRestService (line 8) | internal interface IDeploymentRestService
    method GetList (line 10) | [Get("/deployment")]
    method GetListCount (line 13) | [Get("/deployment/count")]
    method Get (line 16) | [Get("/deployment/{id}")]
    method Redeploy (line 19) | [Post("/deployment/{id}/redeploy")]
    method Delete (line 22) | [Delete("/deployment/{id}")]
    method GetDeploymentResources (line 25) | [Get("/deployment/{deploymentId}/resources")]
    method GetDeploymentResource (line 28) | [Get("/deployment/{deploymentId}/resources/{resourceId}")]
    method GetDeploymentResourceData (line 31) | [Get("/deployment/{deploymentId}/resources/{resourceId}/data")]
    method Create (line 34) | [Post("/deployment/create"), Multipart]

FILE: Camunda.Api.Client/Deployment/RedeploymentInfo.cs
  class RedeploymentInfo (line 5) | public class RedeploymentInfo

FILE: Camunda.Api.Client/Deployment/ResourceDataContent.cs
  class ResourceDataContent (line 9) | public class ResourceDataContent : StreamContent
    method ResourceDataContent (line 13) | public ResourceDataContent(Stream stream, string fileName ) : base(str...

FILE: Camunda.Api.Client/EnumerableExtensions.cs
  class EnumerableExtensions (line 5) | public static class EnumerableExtensions
    method Set (line 7) | public static Dictionary<string, VariableValue> Set(this Dictionary<st...

FILE: Camunda.Api.Client/ErrorMessageHandler.cs
  class ErrorMessageHandler (line 9) | public class ErrorMessageHandler : DelegatingHandler
    method ErrorMessageHandler (line 11) | public ErrorMessageHandler(HttpMessageHandler innerHandler) : base(inn...
    method ErrorMessageHandler (line 15) | public ErrorMessageHandler() : base(new HttpClientHandler())
    method SendAsync (line 19) | protected override async Task<HttpResponseMessage> SendAsync(HttpReque...

FILE: Camunda.Api.Client/Execution/EventSubscription.cs
  class EventSubscription (line 5) | public class EventSubscription
    method ToString (line 40) | public override string ToString() => Id;

FILE: Camunda.Api.Client/Execution/EventSubscriptionResource.cs
  class EventSubscriptionResource (line 5) | public class EventSubscriptionResource
    method EventSubscriptionResource (line 11) | internal EventSubscriptionResource(IExecutionRestService api, string e...
    method Get (line 21) | public Task<EventSubscription> Get() => _api.GetMessageEventSubscripti...
    method Trigger (line 26) | public Task Trigger(ExecutionTrigger trigger) => _api.TriggerMessageEv...
    method ToString (line 28) | public override string ToString() => _executionId;

FILE: Camunda.Api.Client/Execution/ExecutionInfo.cs
  class ExecutionInfo (line 3) | public class ExecutionInfo
    method ToString (line 22) | public override string ToString() => Id;

FILE: Camunda.Api.Client/Execution/ExecutionQuery.cs
  class ExecutionQuery (line 6) | public class ExecutionQuery : SortableQuery<ExecutionSorting, ExecutionQ...
  type ExecutionSorting (line 81) | public enum ExecutionSorting

FILE: Camunda.Api.Client/Execution/ExecutionResource.cs
  class ExecutionResource (line 5) | public class ExecutionResource
    method ExecutionResource (line 10) | internal ExecutionResource(IExecutionRestService api, string executionId)
    method Get (line 21) | public Task<ExecutionInfo> Get() => _api.Get(_executionId);
    method Trigger (line 25) | public Task Trigger(ExecutionTrigger trigger) => _api.TriggerExecution...
    method GetMessageEventSubscription (line 27) | public EventSubscriptionResource GetMessageEventSubscription(string me...
    method ToString (line 29) | public override string ToString() => _executionId;

FILE: Camunda.Api.Client/Execution/ExecutionService.cs
  class ExecutionService (line 3) | public class ExecutionService
    method ExecutionService (line 7) | internal ExecutionService(IExecutionRestService api)
    method Query (line 14) | public QueryResource<ExecutionQuery, ExecutionInfo> Query(ExecutionQue...

FILE: Camunda.Api.Client/Execution/ExecutionTrigger.cs
  class ExecutionTrigger (line 5) | public class ExecutionTrigger

FILE: Camunda.Api.Client/Execution/IExecutionRestService.cs
  type IExecutionRestService (line 8) | internal interface IExecutionRestService
    method GetList (line 10) | [Post("/execution")]
    method GetListCount (line 13) | [Post("/execution/count")]
    method Get (line 16) | [Get("/execution/{id}")]
    method GetMessageEventSubscription (line 19) | [Get("/execution/{id}/messageSubscriptions/{messageName}")]
    method TriggerMessageEventSubscription (line 22) | [Post("/execution/{id}/messageSubscriptions/{messageName}/trigger")]
    method TriggerExecution (line 25) | [Post("/execution/{id}/signal")]
    method DeleteLocalVariable (line 30) | [Delete("/execution/{id}/localVariables/{varName}")]
    method GetLocalVariable (line 33) | [Get("/execution/{id}/localVariables/{varName}")]
    method GetLocalVariables (line 36) | [Get("/execution/{id}/localVariables")]
    method GetBinaryLocalVariable (line 39) | [Get("/execution/{id}/localVariables/{varName}/data")]
    method SetBinaryLocalVariable (line 42) | [Post("/execution/{id}/localVariables/{varName}/data"), Multipart]
    method ModifyLocalVariables (line 45) | [Post("/execution/{id}/localVariables")]
    method PutLocalVariable (line 48) | [Put("/execution/{id}/localVariables/{varName}")]

FILE: Camunda.Api.Client/Execution/LocalVariableResource.cs
  class LocalVariableResource (line 7) | public class LocalVariableResource : IVariableResource
    method LocalVariableResource (line 12) | internal LocalVariableResource(IExecutionRestService api, string execu...
    method GetAll (line 22) | public Task<Dictionary<string, VariableValue>> GetAll(bool deserialize...
    method Get (line 28) | public Task<VariableValue> Get(string variableName, bool deserializeVa...
    method GetBinary (line 32) | public async Task<HttpContent> GetBinary(string variableName) => (awai...
    method Set (line 36) | public Task Set(string variableName, VariableValue variable) => _api.P...
    method SetBinary (line 40) | public Task SetBinary(string variableName, BinaryDataContent data, Bin...
    method Delete (line 44) | public Task Delete(string variableName) => _api.DeleteLocalVariable(_e...
    method Modify (line 48) | public Task Modify(PatchVariables patch) => _api.ModifyLocalVariables(...
    method ToString (line 50) | public override string ToString() => _executionId;

FILE: Camunda.Api.Client/ExternalTask/CompleteExternalTask.cs
  class CompleteExternalTask (line 5) | public class CompleteExternalTask
    method SetVariable (line 22) | public CompleteExternalTask SetVariable(string name, object value)
    method SetLocalVariable (line 31) | public CompleteExternalTask SetLocalVariable(string name, object value)

FILE: Camunda.Api.Client/ExternalTask/ExternalTaskBpmnError.cs
  class ExternalTaskBpmnError (line 6) | public class ExternalTaskBpmnError
    method SetVariable (line 28) | public ExternalTaskBpmnError SetVariable(string name, object value)
    method ToString (line 34) | public override string ToString() => ErrorCode;

FILE: Camunda.Api.Client/ExternalTask/ExternalTaskExtendLock.cs
  class ExternalTaskExtendLock (line 4) | public class ExternalTaskExtendLock

FILE: Camunda.Api.Client/ExternalTask/ExternalTaskFailure.cs
  class ExternalTaskFailure (line 4) | public class ExternalTaskFailure
    method ToString (line 31) | public override string ToString() => ErrorMessage;

FILE: Camunda.Api.Client/ExternalTask/ExternalTaskInfo.cs
  class ExternalTaskInfo (line 5) | public class ExternalTaskInfo
    method ToString (line 77) | public override string ToString() => Id;

FILE: Camunda.Api.Client/ExternalTask/ExternalTaskQuery.cs
  class ExternalTaskQuery (line 7) | public class ExternalTaskQuery : SortableQuery<ExternalTaskSorting, Exte...
  type ExternalTaskSorting (line 84) | public enum ExternalTaskSorting

FILE: Camunda.Api.Client/ExternalTask/ExternalTaskResource.cs
  class ExternalTaskResource (line 5) | public class ExternalTaskResource
    method ExternalTaskResource (line 10) | internal ExternalTaskResource(IExternalTaskRestService api, string ext...
    method Get (line 19) | public Task<ExternalTaskInfo> Get() => _api.Get(_externalTaskId);
    method SetRetries (line 25) | public Task SetRetries(int retries) => _api.SetRetries(_externalTaskId...
    method SetPriority (line 31) | public Task SetPriority(long priority) => _api.SetPriority(_externalTa...
    method Complete (line 36) | public Task Complete(CompleteExternalTask completeExternalTask) => _ap...
    method HandleFailure (line 41) | public Task HandleFailure(ExternalTaskFailure externalTaskFailure) => ...
    method HandleBpmnError (line 46) | public Task HandleBpmnError(ExternalTaskBpmnError externalTaskBpmnErro...
    method Unlock (line 51) | public Task Unlock() => _api.Unlock(_externalTaskId);
    method ExtendLock (line 56) | public Task ExtendLock(ExternalTaskExtendLock externalTaskExtendLock) ...
    method ToString (line 58) | public override string ToString() => _externalTaskId;

FILE: Camunda.Api.Client/ExternalTask/ExternalTaskService.cs
  class ExternalTaskService (line 7) | public class ExternalTaskService
    method ExternalTaskService (line 11) | internal ExternalTaskService(IExternalTaskRestService api) { _api = ap...
    method Query (line 13) | public QueryResource<ExternalTaskQuery, ExternalTaskInfo> Query(Extern...
    method FetchAndLock (line 22) | public Task<List<LockedExternalTask>> FetchAndLock(FetchExternalTasks ...

FILE: Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs
  class FetchExternalTaskTopic (line 6) | public class FetchExternalTaskTopic
    method FetchExternalTaskTopic (line 10) | public FetchExternalTaskTopic(string topicName, long lockDuration)
    method ToString (line 85) | public override string ToString() => TopicName;

FILE: Camunda.Api.Client/ExternalTask/FetchExternalTasks.cs
  class FetchExternalTasks (line 6) | public class FetchExternalTasks

FILE: Camunda.Api.Client/ExternalTask/IExternalTaskRestService.cs
  type IExternalTaskRestService (line 7) | internal interface IExternalTaskRestService
    method Get (line 9) | [Get("/external-task/{externalTaskId}")]
    method GetList (line 12) | [Post("/external-task")]
    method GetListCount (line 15) | [Post("/external-task/count")]
    method FetchAndLock (line 18) | [Post("/external-task/fetchAndLock")]
    method SetRetries (line 21) | [Put("/external-task/{externalTaskId}/retries")]
    method SetPriority (line 24) | [Put("/external-task/{externalTaskId}/priority")]
    method Complete (line 27) | [Post("/external-task/{externalTaskId}/complete")]
    method HandleBpmnError (line 30) | [Post("/external-task/{externalTaskId}/bpmnError")]
    method HandleFailure (line 33) | [Post("/external-task/{externalTaskId}/failure")]
    method Unlock (line 36) | [Post("/external-task/{externalTaskId}/unlock")]
    method ExtendLock (line 39) | [Post("/external-task/{externalTaskId}/extendLock")]

FILE: Camunda.Api.Client/ExternalTask/LockedExternalTask.cs
  class LockedExternalTask (line 6) | public class LockedExternalTask : ExternalTaskInfo

FILE: Camunda.Api.Client/Filter/FilterInfo.cs
  class FilterInfo (line 5) | public class FilterInfo
    class Request (line 7) | public class Request
      method Request (line 9) | public Request()
    class Response (line 40) | public class Response

FILE: Camunda.Api.Client/Filter/FilterQuery.cs
  class FilterQuery (line 7) | public class FilterQuery : QueryParameters
  type FilterSorting (line 50) | public enum FilterSorting

FILE: Camunda.Api.Client/Filter/FilterResource.cs
  class FilterResource (line 7) | public class FilterResource
    method FilterResource (line 12) | internal FilterResource(IFilterRestService api, string filterId)
    method Get (line 21) | public Task<FilterInfo.Response> Get() => _api.Get(_filterId);
    method Update (line 28) | public Task Update(FilterInfo.Request filterInfo) => _api.Update(_filt...
    method Delete (line 34) | public Task Delete() => _api.Delete(_filterId);
    method Execute (line 40) | public Task<UserTaskInfo> Execute() => _api.Execute(_filterId);
    method ExecuteList (line 48) | public Task<List<UserTaskInfo>> ExecuteList(int firstResult, int maxRe...
    method ExecuteCount (line 54) | public async Task<int> ExecuteCount(TaskQuery query = null) => (await ...
    method ToString (line 56) | public override string ToString() => _filterId;

FILE: Camunda.Api.Client/Filter/FilterService.cs
  class FilterService (line 6) | public class FilterService
    method FilterService (line 10) | internal FilterService(IFilterRestService api) { _api = api; }
    method Query (line 14) | public QueryResource<FilterQuery, FilterInfo.Response> Query(FilterQue...
    method Create (line 25) | public Task<FilterInfo.Response> Create(FilterInfo.Request filterInfo)...

FILE: Camunda.Api.Client/Filter/IFilterRestService.cs
  type IFilterRestService (line 9) | internal interface IFilterRestService
    method GetList (line 11) | [Get("/filter")]
    method GetListCount (line 14) | [Get("/filter/count")]
    method Get (line 17) | [Get("/filter/{id}")]
    method Create (line 20) | [Post("/filter/create")]
    method Delete (line 23) | [Delete("/filter/{id}")]
    method Update (line 26) | [Put("/filter/{id}")]
    method Execute (line 29) | [Get("/filter/{id}/singleResult")]
    method ExecuteList (line 32) | [Post("/filter/{id}/list")]
    method ExecuteCount (line 35) | [Post("/filter/{id}/count")]

FILE: Camunda.Api.Client/Group/GroupInfo.cs
  class GroupInfo (line 3) | public class GroupInfo
    method ToString (line 18) | public override string ToString() => Id;

FILE: Camunda.Api.Client/Group/GroupQuery.cs
  class GroupQuery (line 3) | public class GroupQuery: QueryParameters
  type GroupSorting (line 46) | public enum GroupSorting

FILE: Camunda.Api.Client/Group/GroupResource.cs
  class GroupResource (line 5) | public class GroupResource
    method GroupResource (line 10) | internal GroupResource(IGroupRestService api, string groupId)
    method Get (line 19) | public Task<GroupInfo> Get() => _api.Get(_groupId);
    method Update (line 24) | public Task Update(GroupInfo group) => _api.Update(_groupId, group);
    method Delete (line 29) | public Task Delete() => _api.Delete(_groupId);
    method AddMember (line 34) | public Task AddMember(string userId) => _api.AddMember(_groupId, userId);
    method RemoveMember (line 39) | public Task RemoveMember(string userId) => _api.RemoveMember(_groupId,...
    method ToString (line 41) | public override string ToString() => _groupId;

FILE: Camunda.Api.Client/Group/GroupService.cs
  class GroupService (line 5) | public class GroupService
    method GroupService (line 9) | internal GroupService(IGroupRestService api)
    method Query (line 14) | public QueryResource<GroupQuery, GroupInfo> Query(GroupQuery query = n...
    method Create (line 26) | public Task Create(GroupInfo group) => _api.Create(group);

FILE: Camunda.Api.Client/Group/IGroupRestService.cs
  type IGroupRestService (line 7) | internal interface IGroupRestService
    method GetList (line 9) | [Get("/group")]
    method GetListCount (line 12) | [Get("/group/count")]
    method Get (line 15) | [Get("/group/{id}")]
    method Create (line 18) | [Post("/group/create")]
    method Update (line 21) | [Put("/group/{id}")]
    method Delete (line 24) | [Delete("/group/{id}")]
    method AddMember (line 27) | [Put("/group/{id}/members/{userId}")]
    method RemoveMember (line 30) | [Delete("/group/{id}/members/{userId}")]

FILE: Camunda.Api.Client/History/AbstractReport.cs
  class AbstractReport (line 6) | public abstract class AbstractReport : QueryParameters
  type PeriodUnit (line 18) | public enum PeriodUnit
  type ReportType (line 33) | public enum ReportType
  type GroupBy (line 42) | public enum GroupBy

FILE: Camunda.Api.Client/History/CleanableProcessInstanceReport.cs
  class CleanableProcessInstanceReport (line 3) | public class CleanableProcessInstanceReport: CleanableProcessInstanceRep...
  type CleanableProcessInstanceReportSorting (line 26) | public enum CleanableProcessInstanceReportSorting

FILE: Camunda.Api.Client/History/CleanableProcessInstanceReportCount.cs
  class CleanableProcessInstanceReportCount (line 6) | public class CleanableProcessInstanceReportCount: QueryParameters

FILE: Camunda.Api.Client/History/CleanableProcessInstanceReportResult.cs
  class CleanableProcessInstanceReportResult (line 7) | public class CleanableProcessInstanceReportResult

FILE: Camunda.Api.Client/History/CountReportResult.cs
  class CountReportResult (line 3) | public class CountReportResult

FILE: Camunda.Api.Client/History/DeleteHistoricProcessInstances.cs
  class DeleteHistoricProcessInstances (line 5) | public class DeleteHistoricProcessInstances

FILE: Camunda.Api.Client/History/DurationReportResult.cs
  class DurationReportResult (line 3) | public class DurationReportResult : ReportResult

FILE: Camunda.Api.Client/History/HistoricActivityInstance.cs
  class HistoricActivityInstance (line 5) | public class HistoricActivityInstance
    method ToString (line 84) | public override string ToString() => Id;

FILE: Camunda.Api.Client/History/HistoricActivityInstanceQuery.cs
  class HistoricActivityInstanceQuery (line 8) | public class HistoricActivityInstanceQuery : SortableQuery<HistoricActiv...
  type HistoricActivityInstanceQuerySorting (line 81) | public enum HistoricActivityInstanceQuerySorting

FILE: Camunda.Api.Client/History/HistoricActivityInstanceResource.cs
  class HistoricActivityInstanceResource (line 5) | public class HistoricActivityInstanceResource
    method HistoricActivityInstanceResource (line 10) | internal HistoricActivityInstanceResource(IHistoricActivityInstanceRes...
    method Get (line 19) | public Task<HistoricActivityInstance> Get() => _api.Get(_activityInsta...

FILE: Camunda.Api.Client/History/HistoricActivityInstanceService.cs
  class HistoricActivityInstanceService (line 3) | public class HistoricActivityInstanceService
    method HistoricActivityInstanceService (line 7) | internal HistoricActivityInstanceService(IHistoricActivityInstanceRest...
    method Query (line 12) | public QueryResource<HistoricActivityInstanceQuery, HistoricActivityIn...

FILE: Camunda.Api.Client/History/HistoricActivityStatistics.cs
  class HistoricActivityStatistics (line 7) | public class HistoricActivityStatistics : QueryParameters
  type HistoricActivityStatisticsSorting (line 66) | public enum HistoricActivityStatisticsSorting

FILE: Camunda.Api.Client/History/HistoricActivityStatisticsResult.cs
  class HistoricActivityStatisticsResult (line 3) | public class HistoricActivityStatisticsResult
    method ToString (line 45) | public override string ToString() => Id.ToString();

FILE: Camunda.Api.Client/History/HistoricCaseActivityInstance.cs
  class HistoricCaseActivityInstance (line 5) | public class HistoricCaseActivityInstance
    method ToString (line 127) | public override string ToString() => Id;

FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceQuery.cs
  class HistoricCaseActivityInstanceQuery (line 3) | public class HistoricCaseActivityInstanceQuery : SortableQuery<HistoricC...
  type HistoricCaseActivityInstanceQuerySorting (line 11) | public enum HistoricCaseActivityInstanceQuerySorting

FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceQueryResource.cs
  class HistoricCaseActivityInstanceQueryResource (line 6) | public class HistoricCaseActivityInstanceQueryResource
    method HistoricCaseActivityInstanceQueryResource (line 11) | internal HistoricCaseActivityInstanceQueryResource(IHistoricCaseActivi...
    method List (line 20) | public Task<List<HistoricCaseActivityInstance>> List() => _api.GetList...
    method List (line 27) | public Task<List<HistoricCaseActivityInstance>> List(int firstResult, ...

FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceResource.cs
  class HistoricCaseActivityInstanceResource (line 5) | public class HistoricCaseActivityInstanceResource
    method HistoricCaseActivityInstanceResource (line 10) | internal HistoricCaseActivityInstanceResource(IHistoricCaseActivityIns...
    method Get (line 19) | public Task<HistoricCaseActivityInstance> Get() => _api.Get(_caseActiv...

FILE: Camunda.Api.Client/History/HistoricCaseActivityInstanceService.cs
  class HistoricCaseActivityInstanceService (line 3) | public class HistoricCaseActivityInstanceService
    method HistoricCaseActivityInstanceService (line 7) | internal HistoricCaseActivityInstanceService(IHistoricCaseActivityInst...
    method Query (line 12) | public HistoricCaseActivityInstanceQueryResource Query(HistoricCaseAct...

FILE: Camunda.Api.Client/History/HistoricCaseDefinitionResource.cs
  class HistoricCaseDefinitionResource (line 6) | public class HistoricCaseDefinitionResource
    method HistoricCaseDefinitionResource (line 11) | internal HistoricCaseDefinitionResource(IHistoricCaseDefinitionRestSer...
    method GetActivityStatistics (line 17) | public Task<List<HistoricCaseDefinitionStatisticsResult>> GetActivityS...

FILE: Camunda.Api.Client/History/HistoricCaseDefinitionService.cs
  class HistoricCaseDefinitionService (line 3) | public class HistoricCaseDefinitionService
    method HistoricCaseDefinitionService (line 7) | internal HistoricCaseDefinitionService(IHistoricCaseDefinitionRestServ...

FILE: Camunda.Api.Client/History/HistoricCaseDefinitionStatisticsResult.cs
  class HistoricCaseDefinitionStatisticsResult (line 3) | public class HistoricCaseDefinitionStatisticsResult
    method ToString (line 19) | public override string ToString() => Id;

FILE: Camunda.Api.Client/History/HistoricCaseInstance.cs
  class HistoricCaseInstance (line 5) | public class HistoricCaseInstance
    method ToString (line 87) | public override string ToString() => Id;

FILE: Camunda.Api.Client/History/HistoricCaseInstanceQuery.cs
  class HistoricCaseInstanceQuery (line 6) | public class HistoricCaseInstanceQuery : SortableQuery<HistoricCaseInsta...
  type HistoricCaseInstanceQuerySorting (line 47) | public enum HistoricCaseInstanceQuerySorting

FILE: Camunda.Api.Client/History/HistoricCaseInstanceResource.cs
  class HistoricCaseInstanceResource (line 5) | public class HistoricCaseInstanceResource
    method HistoricCaseInstanceResource (line 10) | internal HistoricCaseInstanceResource(IHistoricCaseInstanceRestService...
    method Get (line 20) | public Task<HistoricCaseInstance> Get() => _api.Get(_caseInstanceId);

FILE: Camunda.Api.Client/History/HistoricCaseInstanceService.cs
  class HistoricCaseInstanceService (line 3) | public class HistoricCaseInstanceService
    method HistoricCaseInstanceService (line 7) | internal HistoricCaseInstanceService(IHistoricCaseInstanceRestService ...
    method Query (line 12) | public QueryResource<HistoricCaseInstanceQuery, HistoricCaseInstance> ...

FILE: Camunda.Api.Client/History/HistoricDecisionInstance.cs
  class HistoricDecisionInstance (line 6) | public class HistoricDecisionInstance

FILE: Camunda.Api.Client/History/HistoricDecisionInstanceInputValue.cs
  class HistoricDecisionInstanceInputValue (line 3) | public class HistoricDecisionInstanceInputValue : VariableValue

FILE: Camunda.Api.Client/History/HistoricDecisionInstanceOutputValue.cs
  class HistoricDecisionInstanceOutputValue (line 3) | public class HistoricDecisionInstanceOutputValue : VariableValue

FILE: Camunda.Api.Client/History/HistoricDecisionInstanceQuery.cs
  class HistoricDecisionInstanceQuery (line 7) | public class HistoricDecisionInstanceQuery : QueryParameters
  type HistoricDecisionInstanceQuerySorting (line 161) | public enum HistoricDecisionInstanceQuerySorting

FILE: Camunda.Api.Client/History/HistoricDecisionInstanceResource.cs
  class HistoricDecisionInstanceResource (line 5) | public class HistoricDecisionInstanceResource
    method HistoricDecisionInstanceResource (line 10) | internal HistoricDecisionInstanceResource(IHistoricDecisionInstanceRes...
    method Get (line 19) | public Task<HistoricDecisionInstance> Get() => _api.Get(_decisionInsta...

FILE: Camunda.Api.Client/History/HistoricDecisionInstanceService.cs
  class HistoricDecisionInstanceService (line 3) | public class HistoricDecisionInstanceService
    method HistoricDecisionInstanceService (line 7) | internal HistoricDecisionInstanceService(IHistoricDecisionInstanceRest...
    method Query (line 12) | public QueryResource<HistoricDecisionInstanceQuery, HistoricDecisionIn...

FILE: Camunda.Api.Client/History/HistoricDetail.cs
  class HistoricDetail (line 6) | public class HistoricDetail
    method ToString (line 109) | public override string ToString() => Id.ToString();

FILE: Camunda.Api.Client/History/HistoricDetailQuery.cs
  class HistoricDetailQuery (line 7) | public class HistoricDetailQuery : QueryParameters

FILE: Camunda.Api.Client/History/HistoricDetailResource.cs
  class HistoricDetailResource (line 6) | public class HistoricDetailResource
    method HistoricDetailResource (line 11) | internal HistoricDetailResource(IHistoricDetailRestService api, string...
    method Get (line 20) | public Task<HistoricDetail> Get() => _api.Get(_historicDetailId);
    method GetData (line 25) | public async Task<HttpContent> GetData() => (await _api.GetData(_histo...

FILE: Camunda.Api.Client/History/HistoricDetailService.cs
  class HistoricDetailService (line 3) | public class HistoricDetailService
    method HistoricDetailService (line 7) | internal HistoricDetailService(IHistoricDetailRestService api)
    method Query (line 12) | public QueryResource<HistoricDetailQuery, HistoricDetail> Query(Histor...

FILE: Camunda.Api.Client/History/HistoricExternalTaskLog.cs
  class HistoricExternalTaskLog (line 7) | public class HistoricExternalTaskLog

FILE: Camunda.Api.Client/History/HistoricExternalTaskLogQuery.cs
  class HistoricExternalTaskLogQuery (line 8) | public class HistoricExternalTaskLogQuery : SortableQuery<HistoricExtern...
  type HistoricExternalTaskTaskSorting (line 110) | public enum HistoricExternalTaskTaskSorting

FILE: Camunda.Api.Client/History/HistoricExternalTaskLogResource.cs
  class HistoricExternalTaskLogResource (line 5) | public class HistoricExternalTaskLogResource
    method HistoricExternalTaskLogResource (line 10) | internal HistoricExternalTaskLogResource(IHistoricExternalTaskLogRestS...
    method Get (line 20) | public Task<HistoricExternalTaskLog> Get() => _api.Get(_logId);
    method GetErrorDetails (line 25) | public Task<string> GetErrorDetails() => _api.GetErrorDetails(_logId);

FILE: Camunda.Api.Client/History/HistoricExternalTaskLogService.cs
  class HistoricExternalTaskLogService (line 6) | public class HistoricExternalTaskLogService
    method HistoricExternalTaskLogService (line 10) | internal HistoricExternalTaskLogService(IHistoricExternalTaskLogRestSe...
    method Query (line 15) | public QueryResource<HistoricExternalTaskLogQuery, HistoricExternalTas...

FILE: Camunda.Api.Client/History/HistoricIncident.cs
  class HistoricIncident (line 5) | public class HistoricIncident
    method ToString (line 80) | public override string ToString() => Id;

FILE: Camunda.Api.Client/History/HistoricIncidentQuery.cs
  class HistoricIncidentQuery (line 6) | public class HistoricIncidentQuery : QueryParameters
  type HistoricIncidentQuerySorting (line 80) | public enum HistoricIncidentQuerySorting

FILE: Camunda.Api.Client/History/HistoricIncidentService.cs
  class HistoricIncidentService (line 3) | public class HistoricIncidentService
    method HistoricIncidentService (line 7) | internal HistoricIncidentService(IHistoricIncidentRestService api)
    method Query (line 12) | public QueryResource<HistoricIncidentQuery, HistoricIncident> Query(Hi...

FILE: Camunda.Api.Client/History/HistoricJobLog.cs
  class HistoricJobLog (line 5) | public class HistoricJobLog
    method ToString (line 92) | public override string ToString() => Id;

FILE: Camunda.Api.Client/History/HistoricJobLogQuery.cs
  class HistoricJobLogQuery (line 6) | public class HistoricJobLogQuery : SortableQuery<HistoricJobLogQuerySort...
  type HistoricJobLogQuerySorting (line 89) | public enum HistoricJobLogQuerySorting

FILE: Camunda.Api.Client/History/HistoricJobLogResource.cs
  class HistoricJobLogResource (line 5) | public class HistoricJobLogResource
    method HistoricJobLogResource (line 10) | internal HistoricJobLogResource(IHistoricJobLogRestService api, string...
    method Get (line 19) | public Task<HistoricJobLog> Get() => _api.Get(_historicJobLogId);
    method GetStacktrace (line 24) | public async Task<string> GetStacktrace() => await (await _api.GetStac...

FILE: Camunda.Api.Client/History/HistoricJobLogService.cs
  class HistoricJobLogService (line 3) | public class HistoricJobLogService
    method HistoricJobLogService (line 7) | internal HistoricJobLogService(IHistoricJobLogRestService api)
    method Query (line 12) | public QueryResource<HistoricJobLogQuery, HistoricJobLog> Query(Histor...

FILE: Camunda.Api.Client/History/HistoricProcessDefinitionService.cs
  class HistoricProcessDefinitionService (line 6) | public class HistoricProcessDefinitionService
    method HistoricProcessDefinitionService (line 10) | internal HistoricProcessDefinitionService(IHistoricProcessDefinitionRe...
    method GetHistoricActivityStatistics (line 21) | public Task<List<HistoricActivityStatisticsResult>> GetHistoricActivit...
    method GetCleanableProcessInstanceReport (line 29) | public Task<List<CleanableProcessInstanceReportResult>> GetCleanablePr...
    method GetCleanableProcessInstanceReportCount (line 37) | public async Task<int> GetCleanableProcessInstanceReportCount(Cleanabl...

FILE: Camunda.Api.Client/History/HistoricProcessInstance.cs
  class HistoricProcessInstance (line 6) | public class HistoricProcessInstance
    method ToString (line 72) | public override string ToString() => Id;
  type ProcessInstanceState (line 75) | public enum ProcessInstanceState

FILE: Camunda.Api.Client/History/HistoricProcessInstanceQuery.cs
  class HistoricProcessInstanceQuery (line 7) | public class HistoricProcessInstanceQuery : SortableQuery<HistoricProces...
  type HistoricProcessInstanceQuerySorting (line 154) | public enum HistoricProcessInstanceQuerySorting

FILE: Camunda.Api.Client/History/HistoricProcessInstanceReport.cs
  class HistoricProcessInstanceReport (line 7) | public class HistoricProcessInstanceReport : AbstractReport
    method HistoricProcessInstanceReport (line 28) | public HistoricProcessInstanceReport()

FILE: Camunda.Api.Client/History/HistoricProcessInstanceResource.cs
  class HistoricProcessInstanceResource (line 9) | public class HistoricProcessInstanceResource
    method HistoricProcessInstanceResource (line 14) | internal HistoricProcessInstanceResource(IHistoricProcessInstanceRestS...
    method Get (line 23) | public Task<HistoricProcessInstance> Get() => _api.Get(_processInstanc...
    method Delete (line 28) | public Task Delete() => _api.Delete(_processInstanceId);

FILE: Camunda.Api.Client/History/HistoricProcessInstanceService.cs
  class HistoricProcessInstanceService (line 7) | public class HistoricProcessInstanceService
    method HistoricProcessInstanceService (line 11) | internal HistoricProcessInstanceService(IHistoricProcessInstanceRestSe...
    method Query (line 16) | public QueryResource<HistoricProcessInstanceQuery, HistoricProcessInst...
    method Delete (line 28) | public Task<BatchInfo> Delete(DeleteHistoricProcessInstances deleteHis...
    method GetDurationReport (line 34) | public Task<List<DurationReportResult>> GetDurationReport(HistoricProc...

FILE: Camunda.Api.Client/History/HistoricTask.cs
  class HistoricTask (line 7) | public class HistoricTask: UserTaskInfo

FILE: Camunda.Api.Client/History/HistoricTaskCountReport.cs
  class HistoricTaskCountReport (line 5) | public class HistoricTaskCountReport : AbstractReport
    method HistoricTaskCountReport (line 22) | public HistoricTaskCountReport()

FILE: Camunda.Api.Client/History/HistoricTaskDurationReport.cs
  class HistoricTaskDurationReport (line 5) | public class HistoricTaskDurationReport : AbstractReport
    method HistoricTaskDurationReport (line 22) | public HistoricTaskDurationReport()

FILE: Camunda.Api.Client/History/HistoricTaskQuery.cs
  class HistoricTaskQuery (line 8) | public class HistoricTaskQuery : SortableQuery<HistoricTaskSorting, Hist...
  type HistoricTaskSorting (line 312) | public enum HistoricTaskSorting

FILE: Camunda.Api.Client/History/HistoricUserTaskService.cs
  class HistoricUserTaskService (line 6) | public class HistoricUserTaskService
    method HistoricUserTaskService (line 10) | internal HistoricUserTaskService(IHistoricUserTaskRestService api)
    method Query (line 15) | public QueryResource<HistoricTaskQuery, HistoricTask> Query(HistoricTa...
    method GetDurationReport (line 23) | public Task<List<DurationReportResult>> GetDurationReport(HistoricTask...
    method GetCountReport (line 30) | public Task<List<CountReportResult>> GetCountReport(HistoricTaskCountR...

FILE: Camunda.Api.Client/History/HistoricVariableInstance.cs
  class HistoricVariableInstance (line 5) | public class HistoricVariableInstance : VariableValue
    method ToString (line 68) | public override string ToString() => $"{Name} = {base.ToString()}";
  type HistoricVariableInstanceState (line 71) | public enum HistoricVariableInstanceState

FILE: Camunda.Api.Client/History/HistoricVariableInstanceQuery.cs
  class HistoricVariableInstanceQuery (line 6) | public class HistoricVariableInstanceQuery : SortableQuery<HistoricVaria...
  type HistoricVariableInstanceQuerySorting (line 65) | public enum HistoricVariableInstanceQuerySorting

FILE: Camunda.Api.Client/History/HistoricVariableInstanceQueryResource.cs
  class HistoricVariableInstanceQueryResource (line 6) | public class HistoricVariableInstanceQueryResource
    method HistoricVariableInstanceQueryResource (line 11) | internal HistoricVariableInstanceQueryResource(IHistoricVariableInstan...
    method List (line 20) | public Task<List<HistoricVariableInstance>> List() => _api.GetList(_qu...
    method List (line 28) | public Task<List<HistoricVariableInstance>> List(int firstResult, int ...
    method Count (line 33) | public async Task<int> Count() => (await _api.GetListCount(_query)).Co...

FILE: Camunda.Api.Client/History/HistoricVariableInstanceResource.cs
  class HistoricVariableInstanceResource (line 6) | public class HistoricVariableInstanceResource
    method HistoricVariableInstanceResource (line 11) | internal HistoricVariableInstanceResource(IHistoricVariableInstanceRes...
    method Get (line 21) | public Task<HistoricVariableInstance> Get(bool deserializeValue = true...
    method GetBinary (line 27) | public async Task<HttpContent> GetBinary() => (await _api.GetBinaryVar...

FILE: Camunda.Api.Client/History/HistoricVariableInstanceService.cs
  class HistoricVariableInstanceService (line 3) | public class HistoricVariableInstanceService
    method HistoricVariableInstanceService (line 7) | internal HistoricVariableInstanceService(IHistoricVariableInstanceRest...
    method Query (line 12) | public HistoricVariableInstanceQueryResource Query(HistoricVariableIns...

FILE: Camunda.Api.Client/History/HistoryService.cs
  class HistoryService (line 3) | public class HistoryService
    method HistoryService (line 7) | internal HistoryService(CamundaClient.HistoricApi api)

FILE: Camunda.Api.Client/History/IHistoricActivityInstanceRestService.cs
  type IHistoricActivityInstanceRestService (line 7) | internal interface IHistoricActivityInstanceRestService
    method Get (line 9) | [Get("/history/activity-instance/{id}")]
    method GetList (line 12) | [Post("/history/activity-instance")]
    method GetListCount (line 15) | [Post("/history/activity-instance/count")]

FILE: Camunda.Api.Client/History/IHistoricCaseActivityInstanceRestService.cs
  type IHistoricCaseActivityInstanceRestService (line 7) | internal interface IHistoricCaseActivityInstanceRestService
    method Get (line 9) | [Get("/history/case-activity-instance/{id}")]
    method GetList (line 12) | [Get("/history/case-activity-instance")]
    method GetListCount (line 15) | [Get("/history/case-activity-instance/count")]

FILE: Camunda.Api.Client/History/IHistoricCaseDefinitionRestService.cs
  type IHistoricCaseDefinitionRestService (line 7) | internal interface IHistoricCaseDefinitionRestService
    method GetActivityStatistics (line 9) | [Get("/history/case-definition/{id}/statistics")]

FILE: Camunda.Api.Client/History/IHistoricCaseInstanceRestService.cs
  type IHistoricCaseInstanceRestService (line 7) | internal interface IHistoricCaseInstanceRestService
    method Get (line 9) | [Get("/history/case-instance/{id}")]
    method GetList (line 12) | [Post("/history/case-instance")]
    method GetListCount (line 15) | [Post("/history/case-instance/count")]

FILE: Camunda.Api.Client/History/IHistoricDecisionInstanceRestService.cs
  type IHistoricDecisionInstanceRestService (line 7) | internal interface IHistoricDecisionInstanceRestService
    method Get (line 9) | [Get("/history/decision-instance/{id}")]
    method GetList (line 12) | [Get("/history/decision-instance")]
    method GetListCount (line 15) | [Get("/history/decision-instance/count")]

FILE: Camunda.Api.Client/History/IHistoricDetailRestService.cs
  type IHistoricDetailRestService (line 8) | internal interface IHistoricDetailRestService
    method Get (line 10) | [Get("/history/detail/{id}")]
    method GetList (line 13) | [Get("/history/detail")]
    method GetListCount (line 16) | [Get("/history/detail/count")]
    method GetData (line 19) | [Get("/history/detail/{id}/data")]

FILE: Camunda.Api.Client/History/IHistoricExternalTaskLogRestService.cs
  type IHistoricExternalTaskLogRestService (line 9) | internal interface IHistoricExternalTaskLogRestService
    method GetList (line 11) | [Post("/history/external-task-log")]
    method GetListCount (line 14) | [Post("/history/external-task-log/count")]
    method Get (line 17) | [Get("/history/external-task-log/{id}")]
    method GetErrorDetails (line 20) | [Get("/history/external-task-log/{id}/error-details")]

FILE: Camunda.Api.Client/History/IHistoricIncidentRestService.cs
  type IHistoricIncidentRestService (line 7) | internal interface IHistoricIncidentRestService
    method GetList (line 9) | [Get("/history/incident")]
    method GetListCount (line 12) | [Get("/history/incident/count")]

FILE: Camunda.Api.Client/History/IHistoricJobLogRestService.cs
  type IHistoricJobLogRestService (line 8) | internal interface IHistoricJobLogRestService
    method Get (line 10) | [Get("/history/job-log/{id}")]
    method GetList (line 13) | [Post("/history/job-log")]
    method GetListCount (line 16) | [Post("/history/job-log/count")]
    method GetStacktrace (line 19) | [Get("/history/job-log/{id}/stacktrace")]

FILE: Camunda.Api.Client/History/IHistoricProcessDefinitionRestService.cs
  type IHistoricProcessDefinitionRestService (line 7) | internal interface IHistoricProcessDefinitionRestService
    method GetHistoricActivityStatistics (line 9) | [Get("/history/process-definition/{id}/statistics")]
    method GetCleanableProcessInstanceReport (line 12) | [Get("/history/process-definition/cleanable-process-instance-report")]
    method GetCleanableProcessInstanceReportCount (line 15) | [Get("/history/process-definition/cleanable-process-instance-report/co...

FILE: Camunda.Api.Client/History/IHistoricProcessInstanceRestService.cs
  type IHistoricProcessInstanceRestService (line 8) | internal interface IHistoricProcessInstanceRestService
    method Get (line 10) | [Get("/history/process-instance/{id}")]
    method GetList (line 13) | [Post("/history/process-instance")]
    method GetListCount (line 16) | [Post("/history/process-instance/count")]
    method Delete (line 19) | [Delete("/history/process-instance/{id}")]
    method GetDurationReport (line 22) | [Get("/history/process-instance/report")]
    method DeleteAsync (line 25) | [Post("/history/process-instance/delete")]

FILE: Camunda.Api.Client/History/IHistoricUserTaskRestService.cs
  type IHistoricUserTaskRestService (line 8) | internal interface IHistoricUserTaskRestService
    method GetList (line 10) | [Post("/history/task")]
    method GetListCount (line 13) | [Post("/history/task/count")]
    method GetDurationReport (line 16) | [Get("/history/task/report")]
    method GetCountReport (line 19) | [Get("/history/task/report")]

FILE: Camunda.Api.Client/History/IHistoricVariableInstanceRestService.cs
  type IHistoricVariableInstanceRestService (line 8) | internal interface IHistoricVariableInstanceRestService
    method Get (line 10) | [Get("/history/variable-instance/{id}")]
    method GetList (line 13) | [Post("/history/variable-instance")]
    method GetListCount (line 16) | [Post("/history/variable-instance/count")]
    method GetBinaryVariable (line 19) | [Get("/history/variable-instance/{id}/data")]

FILE: Camunda.Api.Client/History/ReportResult.cs
  class ReportResult (line 3) | public class ReportResult

FILE: Camunda.Api.Client/HttpContentMultipartItem.cs
  class HttpContentMultipartItem (line 7) | public class HttpContentMultipartItem<T> : MultipartItem
    method HttpContentMultipartItem (line 10) | public HttpContentMultipartItem(T content, string fileName = "") : bas...
    method CreateContent (line 17) | protected override HttpContent CreateContent()

FILE: Camunda.Api.Client/IVariableResource.cs
  type IVariableResource (line 7) | public interface IVariableResource
    method GetAll (line 9) | Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValue =...
    method Get (line 10) | Task<VariableValue> Get(string variableName, bool deserializeValues = ...
    method GetBinary (line 11) | Task<HttpContent> GetBinary(string variableName);
    method Set (line 12) | Task Set(string variableName, VariableValue variable);
    method SetBinary (line 13) | Task SetBinary(string variableName, BinaryDataContent data, BinaryVari...
    method Delete (line 14) | Task Delete(string variableName);
    method Modify (line 15) | Task Modify(PatchVariables patch);

FILE: Camunda.Api.Client/Identity/IIdentityRestService.cs
  type IIdentityRestService (line 6) | internal interface IIdentityRestService
    method GetMembership (line 8) | [Get("/identity/groups")]
    method Verify (line 11) | [Post("/identity/verify")]

FILE: Camunda.Api.Client/Identity/IdentityGroupMembership.cs
  class IdentityGroupMembership (line 6) | public class IdentityGroupMembership
    method IdentityGroupMembership (line 8) | public IdentityGroupMembership()
  class IdentityGroup (line 25) | public class IdentityGroup
    method ToString (line 29) | public override string ToString() => Id;
  class IdentityUser (line 31) | public class IdentityUser
    method ToString (line 37) | public override string ToString() => Id;

FILE: Camunda.Api.Client/Identity/IdentityQuery.cs
  class IdentityQuery (line 3) | public class IdentityQuery : QueryParameters

FILE: Camunda.Api.Client/Identity/IdentityService.cs
  class IdentityService (line 5) | public class IdentityService
    method IdentityService (line 9) | internal IdentityService(IIdentityRestService api) { _api = api; }
    method GetMembership (line 12) | public Task<IdentityGroupMembership> GetMembership(string userId) => _...
    method Verify (line 20) | public Task<IdentityVerifiedUser> Verify(string username, string passw...

FILE: Camunda.Api.Client/Identity/IdentityUserCredentials.cs
  class IdentityUserCredentials (line 3) | internal class IdentityUserCredentials

FILE: Camunda.Api.Client/Identity/IdentityVerifiedUser.cs
  class IdentityVerifiedUser (line 7) | public class IdentityVerifiedUser

FILE: Camunda.Api.Client/Incident/IIncidentRestService.cs
  type IIncidentRestService (line 7) | internal interface IIncidentRestService
    method GetList (line 9) | [Get("/incident")]
    method GetListCount (line 12) | [Get("/incident/count")]

FILE: Camunda.Api.Client/Incident/IncidentInfo.cs
  class IncidentInfo (line 5) | public class IncidentInfo
    method ToString (line 60) | public override string ToString() => Id;

FILE: Camunda.Api.Client/Incident/IncidentQuery.cs
  class IncidentQuery (line 6) | public class IncidentQuery : QueryParameters
  type IncidentSorting (line 68) | public enum IncidentSorting

FILE: Camunda.Api.Client/Incident/IncidentService.cs
  class IncidentService (line 3) | public class IncidentService
    method IncidentService (line 7) | internal IncidentService(IIncidentRestService api)
    method Query (line 12) | public QueryResource<IncidentQuery, IncidentInfo> Query(IncidentQuery ...

FILE: Camunda.Api.Client/Job/IJobRestService.cs
  type IJobRestService (line 9) | internal interface IJobRestService
    method Get (line 11) | [Get("/job/{jobId}")]
    method GetList (line 14) | [Post("/job")]
    method GetListCount (line 17) | [Post("/job/count")]
    method GetStacktrace (line 20) | [Get("/job/{jobId}/stacktrace")]
    method ExecuteJob (line 23) | [Post("/job/{jobId}/execute")]
    method SetJobDuedate (line 26) | [Put("/job/{jobId}/duedate")]
    method UpdateSuspensionStateForId (line 29) | [Put("/job/{jobId}/suspended")]
    method UpdateSuspensionState (line 32) | [Put("/job/suspended")]
    method SetJobPriority (line 35) | [Put("/job/{jobId}/priority")]
    method SetJobRetries (line 38) | [Put("/job/{jobId}/retries")]
    method DeleteJob (line 41) | [Delete("/job/{jobId}")]
    method SetJobRetriesAsync (line 44) | [Post("/job/retries")]

FILE: Camunda.Api.Client/Job/JobDuedateInfo.cs
  class JobDuedateInfo (line 5) | internal class JobDuedateInfo

FILE: Camunda.Api.Client/Job/JobInfo.cs
  class JobInfo (line 5) | public class JobInfo
    method ToString (line 56) | public override string ToString() => Id;

FILE: Camunda.Api.Client/Job/JobQuery.cs
  class JobQuery (line 6) | public class JobQuery : SortableQuery<JobQuerySorting, JobQuery>
  type JobQuerySorting (line 99) | public enum JobQuerySorting

FILE: Camunda.Api.Client/Job/JobResource.cs
  class JobResource (line 6) | public class JobResource
    method JobResource (line 11) | internal JobResource(IJobRestService api, string jobId)
    method Get (line 20) | public Task<JobInfo> Get() => _api.Get(_jobId);
    method GetStacktrace (line 25) | public async Task<string> GetStacktrace() => await (await _api.GetStac...
    method Execute (line 30) | public Task Execute() => _api.ExecuteJob(_jobId);
    method SetDuedate (line 35) | public Task SetDuedate(DateTime duedate) => _api.SetJobDuedate(_jobId,...
    method UpdateSuspensionState (line 40) | public Task UpdateSuspensionState(bool suspended) => _api.UpdateSuspen...
    method SetPriority (line 45) | public Task SetPriority(long priority) => _api.SetJobPriority(_jobId, ...
    method SetRetries (line 50) | public Task SetRetries(long retries) => _api.SetJobRetries(_jobId, new...
    method Delete (line 55) | public Task Delete() => _api.DeleteJob(_jobId);
    method ToString (line 57) | public override string ToString() => _jobId;

FILE: Camunda.Api.Client/Job/JobRetries.cs
  class JobRetries (line 5) | public class JobRetries

FILE: Camunda.Api.Client/Job/JobService.cs
  class JobService (line 6) | public class JobService
    method JobService (line 10) | internal JobService(IJobRestService api)
    method Query (line 15) | public QueryResource<JobQuery, JobInfo> Query(JobQuery query = null) =>
    method UpdateSuspensionState (line 24) | public Task UpdateSuspensionState(JobSuspensionState state) => _api.Up...
    method SetJobRetries (line 29) | public Task<BatchInfo> SetJobRetries(JobRetries retries) => _api.SetJo...

FILE: Camunda.Api.Client/Job/JobSuspensionState.cs
  class JobSuspensionState (line 3) | public class JobSuspensionState : SuspensionState

FILE: Camunda.Api.Client/JobDefinition/IJobDefinitionRestService.cs
  type IJobDefinitionRestService (line 7) | internal interface IJobDefinitionRestService
    method Get (line 9) | [Get("/job-definition/{jobDefinitionId}")]
    method GetList (line 12) | [Post("/job-definition")]
    method GetListCount (line 15) | [Post("/job-definition/count")]
    method UpdateSuspensionState (line 18) | [Put("/job-definition/suspended")]
    method UpdateSuspensionStateForId (line 21) | [Put("/job-definition/{jobDefinitionId}/suspended")]
    method SetJobRetries (line 24) | [Put("/job-definition/{jobDefinitionId}/retries")]
    method SetJobPriority (line 27) | [Put("/job-definition/{jobDefinitionId}/jobPriority")]

FILE: Camunda.Api.Client/JobDefinition/JobDefinitionInfo.cs
  class JobDefinitionInfo (line 3) | public class JobDefinitionInfo
    method ToString (line 42) | public override string ToString() => Id;

FILE: Camunda.Api.Client/JobDefinition/JobDefinitionPriority.cs
  class JobDefinitionPriority (line 3) | public class JobDefinitionPriority

FILE: Camunda.Api.Client/JobDefinition/JobDefinitionQuery.cs
  class JobDefinitionQuery (line 6) | public class JobDefinitionQuery : SortableQuery<JobDefinitionSorting, Jo...
  type JobDefinitionSorting (line 60) | public enum JobDefinitionSorting

FILE: Camunda.Api.Client/JobDefinition/JobDefinitionResource.cs
  class JobDefinitionResource (line 5) | public class JobDefinitionResource
    method JobDefinitionResource (line 10) | internal JobDefinitionResource(IJobDefinitionRestService api, string j...
    method Get (line 19) | public Task<JobDefinitionInfo> Get() => _api.Get(_jobDefinitionId);
    method UpdateSuspensionState (line 24) | public Task UpdateSuspensionState(bool suspended) => _api.UpdateSuspen...
    method SetRetries (line 29) | public Task SetRetries(long retries) => _api.SetJobRetries(_jobDefinit...
    method SetPriority (line 38) | public Task SetPriority(JobDefinitionPriority priority) => _api.SetJob...
    method ToString (line 40) | public override string ToString() => _jobDefinitionId;

FILE: Camunda.Api.Client/JobDefinition/JobDefinitionService.cs
  class JobDefinitionService (line 5) | public class JobDefinitionService
    method JobDefinitionService (line 9) | internal JobDefinitionService(IJobDefinitionRestService api)
    method Query (line 14) | public QueryResource<JobDefinitionQuery, JobDefinitionInfo> Query(JobD...
    method UpdateSuspensionState (line 23) | public Task UpdateSuspensionState(JobDefinitionSuspensionState state) ...

FILE: Camunda.Api.Client/JobDefinition/JobDefinitionSuspensionState.cs
  class JobDefinitionSuspensionState (line 5) | public class JobDefinitionSuspensionState : SuspensionState

FILE: Camunda.Api.Client/MediaTypes.cs
  class MediaTypes (line 5) | public class MediaTypes
    class Application (line 10) | public class Application
    class Audio (line 2192) | public class Audio
    class Image (line 2480) | public class Image
    class Message (line 2579) | public class Message
    class Model (line 2630) | public class Model
    class Multipart (line 2677) | public class Multipart
    class Text (line 2712) | public class Text
    class Video (line 2860) | public class Video

FILE: Camunda.Api.Client/Message/CorrelationMessage.cs
  class CorrelationMessage (line 7) | [JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
    method SetVariable (line 51) | public CorrelationMessage SetVariable(string name, object value)
    method SetCorrelationKey (line 57) | public CorrelationMessage SetCorrelationKey(string name, object value)

FILE: Camunda.Api.Client/Message/CorrelationResult.cs
  class CorrelationResult (line 7) | public class CorrelationResult
  type MessageCorrelationResultType (line 26) | public enum MessageCorrelationResultType

FILE: Camunda.Api.Client/Message/IMessageRestService.cs
  type IMessageRestService (line 7) | internal interface IMessageRestService
    method DeliverMessage (line 9) | [Post("/message")]

FILE: Camunda.Api.Client/Message/MessageService.cs
  class MessageService (line 6) | public class MessageService
    method MessageService (line 10) | internal MessageService(IMessageRestService api)
    method DeliverMessage (line 19) | public Task<List<CorrelationResult>> DeliverMessage(CorrelationMessage...

FILE: Camunda.Api.Client/Migration/IMigrationRestService.cs
  type IMigrationRestService (line 8) | internal interface IMigrationRestService
    method Generate (line 10) | [Post("/migration/generate")]
    method Validate (line 13) | [Post("/migration/validate")]
    method Execute (line 16) | [Post("/migration/execute")]
    method ExecuteAsync (line 19) | [Post("/migration/executeAsync")]

FILE: Camunda.Api.Client/Migration/MigrationExecution.cs
  class MigrationExecution (line 7) | public class MigrationExecution

FILE: Camunda.Api.Client/Migration/MigrationInstruction.cs
  class MigrationInstruction (line 6) | public class MigrationInstruction

FILE: Camunda.Api.Client/Migration/MigrationInstructionValidationReport.cs
  class MigrationInstructionValidationReport (line 6) | public class MigrationInstructionValidationReport

FILE: Camunda.Api.Client/Migration/MigrationPlan.cs
  class MigrationPlan (line 6) | public class MigrationPlan

FILE: Camunda.Api.Client/Migration/MigrationPlanGeneration.cs
  class MigrationPlanGeneration (line 5) | public class MigrationPlanGeneration

FILE: Camunda.Api.Client/Migration/MigrationPlanReport.cs
  class MigrationPlanReport (line 9) | public class MigrationPlanReport

FILE: Camunda.Api.Client/Migration/MigrationService.cs
  class MigrationService (line 9) | public class MigrationService
    method MigrationService (line 13) | internal MigrationService(IMigrationRestService api)
    method Generate (line 23) | public Task<MigrationPlan> Generate(MigrationPlanGeneration request) =...
    method Validate (line 30) | public Task<MigrationPlanReport> Validate(MigrationPlan plan) => _api....
    method Execute (line 37) | public Task Execute(MigrationExecution request) => _api.Execute(request);
    method ExecuteAsync (line 44) | public Task<BatchInfo> ExecuteAsync(MigrationExecution request) => _ap...

FILE: Camunda.Api.Client/NamedVariableValue.cs
  class NamedVariableValue (line 4) | public class NamedVariableValue : VariableValue
    method NamedVariableValue (line 8) | protected NamedVariableValue() { }
    method FromObject (line 10) | public static NamedVariableValue FromObject(string name, object value)
    method ToString (line 18) | public override string ToString() => $"{Name} = {base.ToString()}";

FILE: Camunda.Api.Client/PatchVariables.cs
  class PatchVariables (line 5) | public class PatchVariables

FILE: Camunda.Api.Client/PlainTextContent.cs
  class PlainTextContent (line 7) | internal class PlainTextContent : StringContent
    method PlainTextContent (line 9) | public PlainTextContent(string partName, string text) : base(text ?? "")

FILE: Camunda.Api.Client/PriorityInfo.cs
  class PriorityInfo (line 4) | internal class PriorityInfo

FILE: Camunda.Api.Client/ProcessDefinition/FormInfo.cs
  class FormInfo (line 3) | public class FormInfo
    method ToString (line 11) | public override string ToString() => Key;

FILE: Camunda.Api.Client/ProcessDefinition/IProcessDefinitionRestService.cs
  type IProcessDefinitionRestService (line 9) | internal interface IProcessDefinitionRestService
    method GetList (line 11) | [Get("/process-definition")]
    method GetListCount (line 14) | [Get("/process-definition/count")]
    method GetProcessInstanceStatistics (line 17) | [Get("/process-definition/statistics")]
    method Delete (line 20) | [Delete("/process-definition/{id}")]
    method DeleteByKey (line 22) | [Delete("/process-definition/key/{key}/delete")]
    method DeleteByKeyAndTenantId (line 24) | [Delete("/process-definition/key/{key}/tenant-id/{tenantId}/delete")]
    method UpdateSuspensionStateById (line 27) | [Put("/process-definition/{id}/suspended")]
    method UpdateSuspensionStateByKey (line 29) | [Put("/process-definition/key/{key}/suspended")]
    method UpdateSuspensionStateByKeyAndTenantId (line 31) | [Put("/process-definition/key/{key}/tenant-id/{tenantId}/suspended")]
    method GetById (line 35) | [Get("/process-definition/{id}")]
    method GetByKey (line 37) | [Get("/process-definition/key/{key}")]
    method GetByKeyAndTenantId (line 39) | [Get("/process-definition/key/{key}/tenant-id/{tenantId}")]
    method GetXmlById (line 43) | [Get("/process-definition/{id}/xml")]
    method GetXmlByKey (line 45) | [Get("/process-definition/key/{key}/xml")]
    method GetXmlByKeyAndTenantId (line 47) | [Get("/process-definition/key/{key}/tenant-id/{tenantId}/xml")]
    method GetDiagramById (line 51) | [Get("/process-definition/{id}/diagram")]
    method GetDiagramByKey (line 53) | [Get("/process-definition/key/{key}/diagram")]
    method GetDiagramByKeyAndTenantId (line 55) | [Get("/process-definition/key/{key}/tenant-id/{tenantId}/diagram")]
    method GetFormVariablesById (line 59) | [Get("/process-definition/{id}/form-variables")]
    method GetFormVariablesByKey (line 61) | [Get("/process-definition/key/{key}/form-variables")]
    method GetFormVariablesByKeyAndTenantId (line 63) | [Get("/process-definition/key/{key}/tenant-id/{tenantId}/form-variable...
    method GetStartFormById (line 67) | [Get("/process-definition/{id}/startForm")]
    method GetStartFormByKey (line 69) | [Get("/process-definition/key/{key}/startForm")]
    method GetStartFormByKeyAndTenantId (line 71) | [Get("/process-definition/key/{key}/tenant-id/{tenantId}/startForm")]
    method GetRenderedFormById (line 75) | [Get("/process-definition/{id}/rendered-form")]
    method GetRenderedFormByKey (line 77) | [Get("/process-definition/key/{key}/rendered-form")]
    method GetRenderedFormByKeyAndTenantId (line 79) | [Get("/process-definition/key/{key}/tenant-id/{tenantId}/rendered-form")]
    method GetActivityStatisticsById (line 83) | [Get("/process-definition/{id}/statistics")]
    method GetActivityStatisticsByKey (line 85) | [Get("/process-definition/key/{key}/statistics")]
    method GetActivityStatisticsByKeyAndTenantId (line 87) | [Get("/process-definition/key/{key}/tenant-id/{tenantId}/statistics")]
    method SubmitStartFormById (line 91) | [Post("/process-definition/{id}/submit-form")]
    method SubmitStartFormByKey (line 93) | [Post("/process-definition/key/{key}/submit-form")]
    method SubmitStartFormByKeyAndTenantId (line 95) | [Post("/process-definition/key/{key}/tenant-id/{tenantId}/submit-form")]
    method StartProcessInstanceById (line 99) | [Post("/process-definition/{id}/start")]
    method StartProcessInstanceByKey (line 101) | [Post("/process-definition/key/{key}/start")]
    method StartProcessInstanceByKeyAndTenantId (line 103) | [Post("/process-definition/key/{key}/tenant-id/{tenantId}/start")]

FILE: Camunda.Api.Client/ProcessDefinition/IncidentStatisticsResult.cs
  class IncidentStatisticsResult (line 4) | public class IncidentStatisticsResult
    method ToString (line 15) | public override string ToString() => $"{IncidentType} ({IncidentCount})";

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionDiagram.cs
  class ProcessDefinitionDiagram (line 3) | public class ProcessDefinitionDiagram
    method ToString (line 14) | public override string ToString() => Id;

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionInfo.cs
  class ProcessDefinitionInfo (line 4) | public class ProcessDefinitionInfo
    method ToString (line 55) | public override string ToString() => Id;

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionQuery.cs
  class ProcessDefinitionQuery (line 6) | public class ProcessDefinitionQuery : QueryParameters
  type ProcessDefinitionSorting (line 113) | public enum ProcessDefinitionSorting

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResource.cs
  class ProcessDefinitionResource (line 8) | public abstract class ProcessDefinitionResource
    method Get (line 13) | public abstract Task<ProcessDefinitionInfo> Get();
    method Delete (line 19) | public abstract Task Delete(bool cascade, bool skipCustomListeners, bo...
    method GetXml (line 24) | public abstract Task<ProcessDefinitionDiagram> GetXml();
    method GetDiagram (line 30) | public abstract Task<HttpContent> GetDiagram();
    method StartProcessInstance (line 35) | public abstract Task<ProcessInstanceWithVariables> StartProcessInstanc...
    method SubmitForm (line 41) | public abstract Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm p...
    method GetActivityStatistics (line 43) | protected abstract Task<List<StatisticsResult>> GetActivityStatistics(...
    method GetActivityStatistics (line 50) | public Task<List<StatisticsResult>> GetActivityStatistics(bool include...
    method GetActivityStatistics (line 56) | public Task<List<StatisticsResult>> GetActivityStatistics(bool include...
    method GetActivityStatistics (line 61) | public Task<List<StatisticsResult>> GetActivityStatistics(bool include...
    method GetStartForm (line 66) | public abstract Task<FormInfo> GetStartForm();
    method GetRenderedForm (line 71) | public abstract Task<string> GetRenderedForm();
    method UpdateSuspensionState (line 76) | public abstract Task UpdateSuspensionState(ProcessDefinitionSuspension...
    method GetFormVariables (line 82) | public abstract Task<Dictionary<string, VariableValue>> GetFormVariabl...
    method GetFormVariables (line 92) | public abstract Task<Dictionary<string, VariableValue>> GetFormVariabl...

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResourceById.cs
  class ProcessDefinitionResourceById (line 9) | public class ProcessDefinitionResourceById : ProcessDefinitionResource
    method ProcessDefinitionResourceById (line 14) | internal ProcessDefinitionResourceById(IProcessDefinitionRestService a...
    method Get (line 20) | public override Task<ProcessDefinitionInfo> Get() => _api.GetById(_pro...
    method Delete (line 22) | public override Task Delete(bool cascade, bool skipCustomListeners, bo...
    method GetXml (line 24) | public override Task<ProcessDefinitionDiagram> GetXml() => _api.GetXml...
    method GetDiagram (line 26) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method StartProcessInstance (line 28) | public override Task<ProcessInstanceWithVariables> StartProcessInstanc...
    method SubmitForm (line 30) | public override Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm p...
    method GetActivityStatistics (line 32) | protected override Task<List<StatisticsResult>> GetActivityStatistics(...
    method GetStartForm (line 35) | public override Task<FormInfo> GetStartForm() => _api.GetStartFormById...
    method GetRenderedForm (line 37) | public override Task<string> GetRenderedForm() => _api.GetRenderedForm...
    method UpdateSuspensionState (line 39) | public override Task UpdateSuspensionState(ProcessDefinitionSuspension...
    method GetFormVariables (line 41) | public override Task<Dictionary<string, VariableValue>> GetFormVariabl...
    method GetFormVariables (line 43) | public override Task<Dictionary<string, VariableValue>> GetFormVariabl...
    method ToString (line 45) | public override string ToString() => _processDefinitionId;

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResourceByKey.cs
  class ProcessDefinitionResourceByKey (line 10) | public class ProcessDefinitionResourceByKey : ProcessDefinitionResource
    method ProcessDefinitionResourceByKey (line 15) | internal ProcessDefinitionResourceByKey(IProcessDefinitionRestService ...
    method Get (line 21) | public override Task<ProcessDefinitionInfo> Get() => _api.GetByKey(_pr...
    method Delete (line 23) | public override Task Delete(bool cascade, bool skipCustomListeners, bo...
    method GetXml (line 26) | public override Task<ProcessDefinitionDiagram> GetXml() => _api.GetXml...
    method GetDiagram (line 28) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method StartProcessInstance (line 30) | public override Task<ProcessInstanceWithVariables> StartProcessInstanc...
    method SubmitForm (line 32) | public override Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm p...
    method GetActivityStatistics (line 34) | protected override Task<List<StatisticsResult>> GetActivityStatistics(...
    method GetStartForm (line 37) | public override Task<FormInfo> GetStartForm() => _api.GetStartFormByKe...
    method GetRenderedForm (line 39) | public override Task<string> GetRenderedForm() => _api.GetRenderedForm...
    method UpdateSuspensionState (line 41) | public override Task UpdateSuspensionState(ProcessDefinitionSuspension...
    method GetFormVariables (line 43) | public override Task<Dictionary<string, VariableValue>> GetFormVariabl...
    method GetFormVariables (line 45) | public override Task<Dictionary<string, VariableValue>> GetFormVariabl...
    method ToString (line 47) | public override string ToString() => _processDefinitionKey;

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResourceByKeyAndTenantId.cs
  class ProcessDefinitionResourceByKeyAndTenantId (line 10) | public class ProcessDefinitionResourceByKeyAndTenantId : ProcessDefiniti...
    method ProcessDefinitionResourceByKeyAndTenantId (line 15) | internal ProcessDefinitionResourceByKeyAndTenantId(IProcessDefinitionR...
    method Get (line 22) | public override Task<ProcessDefinitionInfo> Get() => _api.GetByKeyAndT...
    method Delete (line 24) | public override Task Delete(bool cascade, bool skipCustomListeners, bo...
    method GetXml (line 27) | public override Task<ProcessDefinitionDiagram> GetXml() => _api.GetXml...
    method GetDiagram (line 29) | public override async Task<HttpContent> GetDiagram() => (await _api.Ge...
    method StartProcessInstance (line 31) | public override Task<ProcessInstanceWithVariables> StartProcessInstanc...
    method SubmitForm (line 33) | public override Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm p...
    method GetActivityStatistics (line 35) | protected override Task<List<StatisticsResult>> GetActivityStatistics(...
    method GetStartForm (line 38) | public override Task<FormInfo> GetStartForm() => _api.GetStartFormByKe...
    method GetRenderedForm (line 40) | public override Task<string> GetRenderedForm() => _api.GetRenderedForm...
    method UpdateSuspensionState (line 42) | public override Task UpdateSuspensionState(ProcessDefinitionSuspension...
    method GetFormVariables (line 44) | public override Task<Dictionary<string, VariableValue>> GetFormVariabl...
    method GetFormVariables (line 46) | public override Task<Dictionary<string, VariableValue>> GetFormVariabl...
    method ToString (line 48) | public override string ToString() => _processDefinitionKey;

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionService.cs
  class ProcessDefinitionService (line 6) | public class ProcessDefinitionService
    method ProcessDefinitionService (line 10) | internal ProcessDefinitionService(IProcessDefinitionRestService api) {...
    method ByKey (line 14) | public ProcessDefinitionResource ByKey(string processDefinitionKey) =>...
    method ByKey (line 16) | public ProcessDefinitionResource ByKey(string processDefinitionKey, st...
    method Query (line 18) | public QueryResource<ProcessDefinitionQuery, ProcessDefinitionInfo>
    method GetStatistics (line 31) | public Task<List<ProcessDefinitionStatisticsResult>> GetStatistics(boo...
    method GetStatistics (line 40) | public Task<List<ProcessDefinitionStatisticsResult>> GetStatistics(boo...
    method GetStatistics (line 48) | public Task<List<ProcessDefinitionStatisticsResult>> GetStatistics(boo...
    method Delete (line 58) | public Task Delete(string processDefinitionId, bool cascade, bool skip...

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionStatisticsResult.cs
  class ProcessDefinitionStatisticsResult (line 3) | public class ProcessDefinitionStatisticsResult : StatisticsResult

FILE: Camunda.Api.Client/ProcessDefinition/ProcessDefinitionSuspensionState.cs
  class ProcessDefinitionSuspensionState (line 6) | public class ProcessDefinitionSuspensionState : SuspensionState

FILE: Camunda.Api.Client/ProcessDefinition/StartProcessInstance.cs
  class StartProcessInstance (line 6) | public class StartProcessInstance : SubmitStartForm
    method SetVariable (line 40) | public new StartProcessInstance SetVariable(string name, object value)

FILE: Camunda.Api.Client/ProcessDefinition/StatisticsResult.cs
  class StatisticsResult (line 5) | public class StatisticsResult
    method ToString (line 22) | public override string ToString() => Id;

FILE: Camunda.Api.Client/ProcessDefinition/SubmitStartForm.cs
  class SubmitStartForm (line 6) | public class SubmitStartForm
    method SetVariable (line 18) | public SubmitStartForm SetVariable(string name, object value)

FILE: Camunda.Api.Client/ProcessInstance/ActivityInstanceInfo.cs
  class ActivityInstanceInfo (line 5) | public class ActivityInstanceInfo
    method ToString (line 48) | public override string ToString() => Id;

FILE: Camunda.Api.Client/ProcessInstance/DeleteProcessInstances.cs
  class DeleteProcessInstances (line 5) | public class DeleteProcessInstances

FILE: Camunda.Api.Client/ProcessInstance/IProcessInstanceRestService.cs
  type IProcessInstanceRestService (line 9) | internal interface IProcessInstanceRestService
    method Get (line 11) | [Get("/process-instance/{processInstanceId}")]
    method GetList (line 14) | [Post("/process-instance")]
    method GetListCount (line 17) | [Post("/process-instance/count")]
    method GetActivityInstanceTree (line 20) | [Get("/process-instance/{processInstanceId}/activity-instances")]
    method DeleteProcessInstance (line 23) | [Delete("/process-instance/{processInstanceId}")]
    method UpdateSuspensionState (line 26) | [Put("/process-instance/suspended")]
    method UpdateSuspensionStateForId (line 29) | [Put("/process-instance/{processInstanceId}/suspended")]
    method ModifyProcessInstance (line 32) | [Post("/process-instance/{processInstanceId}/modification")]
    method SetRetriesByProcess (line 35) | [Post("/process-instance/job-retries")]
    method DeleteProcessInstanceAsync (line 38) | [Post("/process-instance/delete")]
    method DeleteVariable (line 43) | [Delete("/process-instance/{id}/variables/{varName}")]
    method GetVariable (line 46) | [Get("/process-instance/{id}/variables/{varName}")]
    method GetVariables (line 49) | [Get("/process-instance/{id}/variables")]
    method GetBinaryVariable (line 52) | [Get("/process-instance/{id}/variables/{varName}/data")]
    method SetBinaryVariable (line 55) | [Post("/process-instance/{id}/variables/{varName}/data"), Multipart]
    method ModifyVariables (line 58) | [Post("/process-instance/{id}/variables")]
    method PutVariable (line 61) | [Put("/process-instance/{id}/variables/{varName}")]

FILE: Camunda.Api.Client/ProcessInstance/JobRetriesByProcess.cs
  class JobRetriesByProcess (line 6) | public class JobRetriesByProcess

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceInfo.cs
  class ProcessInstanceInfo (line 4) | public class ProcessInstanceInfo
    method ToString (line 35) | public override string ToString() => Id;

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceModification.cs
  class ProcessInstanceModification (line 5) | public class ProcessInstanceModification

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceModificationInstruction.cs
  class ProcessInstanceModificationInstruction (line 5) | public class ProcessInstanceModificationInstruction
  type InstructionType (line 42) | public enum InstructionType

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceQuery.cs
  class ProcessInstanceQuery (line 6) | public class ProcessInstanceQuery : SortableQuery<ProcessInstanceSorting...
  type ProcessInstanceSorting (line 95) | public enum ProcessInstanceSorting

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceResource.cs
  class ProcessInstanceResource (line 5) | public class ProcessInstanceResource
    method ProcessInstanceResource (line 10) | internal ProcessInstanceResource(IProcessInstanceRestService api, stri...
    method Get (line 19) | public Task<ProcessInstanceInfo> Get() => _api.Get(_processInstanceId);
    method Delete (line 27) | public Task Delete(bool skipCustomListeners = false, bool skipIoMappin...
    method GetActivityInstance (line 32) | public Task<ActivityInstanceInfo> GetActivityInstance() => _api.GetAct...
    method UpdateSuspensionState (line 34) | public Task UpdateSuspensionState(bool suspended) => _api.UpdateSuspen...
    method ModifyProcessInstance (line 50) | public Task ModifyProcessInstance(ProcessInstanceModification modifica...
    method ToString (line 54) | public override string ToString() => _processInstanceId;

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceService.cs
  class ProcessInstanceService (line 6) | public class ProcessInstanceService
    method ProcessInstanceService (line 10) | internal ProcessInstanceService(IProcessInstanceRestService api) { _ap...
    method Query (line 12) | public QueryResource<ProcessInstanceQuery, ProcessInstanceInfo> Query(...
    method UpdateSuspensionState (line 21) | public Task UpdateSuspensionState(ProcessInstanceSuspensionState state...
    method Delete (line 26) | public Task<BatchInfo> Delete(DeleteProcessInstances deleteProcessInst...
    method SetRetriesByProcess (line 31) | public Task<BatchInfo> SetRetriesByProcess(JobRetriesByProcess setJobR...

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceSuspensionState.cs
  class ProcessInstanceSuspensionState (line 3) | public class ProcessInstanceSuspensionState : SuspensionState

FILE: Camunda.Api.Client/ProcessInstance/ProcessInstanceWithVariables.cs
  class ProcessInstanceWithVariables (line 5) | public class ProcessInstanceWithVariables : ProcessInstanceInfo

FILE: Camunda.Api.Client/ProcessInstance/TransitionInstanceInfo.cs
  class TransitionInstanceInfo (line 3) | public class TransitionInstanceInfo
    method ToString (line 38) | public override string ToString() => Id;

FILE: Camunda.Api.Client/ProcessInstance/TriggerVariableValue.cs
  class TriggerVariableValue (line 4) | public class TriggerVariableValue : VariableValue
    method TriggerVariableValue (line 11) | protected TriggerVariableValue() { }
    method FromObject (line 15) | public static TriggerVariableValue FromObject(object value, bool local)

FILE: Camunda.Api.Client/ProcessInstance/VariableResource.cs
  class VariableResource (line 8) | public class VariableResource : IVariableResource
    method VariableResource (line 13) | internal VariableResource(IProcessInstanceRestService api, string proc...
    method GetAll (line 23) | public Task<Dictionary<string, VariableValue>> GetAll(bool deserialize...
    method Get (line 30) | public Task<VariableValue> Get(string variableName, bool deserializeVa...
    method GetBinary (line 36) | public async Task<HttpContent> GetBinary(string variableName) => (awai...
    method Set (line 43) | public Task Set(string variableName, VariableValue variable) => _api.P...
    method SetBinary (line 51) | public Task SetBinary(string variableName, BinaryDataContent data, Bin...
    method Delete (line 57) | public Task Delete(string variableName) => _api.DeleteVariable(_proces...
    method Modify (line 62) | public Task Modify(PatchVariables patch) => _api.ModifyVariables(_proc...
    method ToString (line 64) | public override string ToString() => _processInstanceId;

FILE: Camunda.Api.Client/QueryParameters.cs
  class QueryParameters (line 8) | public abstract class QueryParameters
  class QueryDictionary (line 37) | public class QueryDictionary : Dictionary<string, string>

FILE: Camunda.Api.Client/QueryResource.cs
  class QueryResource (line 7) | public class QueryResource<TQuery, TResult> where TQuery: new()
    method QueryResource (line 13) | internal QueryResource(TQuery query, Func<TQuery, int?, int?, Task<Lis...
    method List (line 23) | public Task<List<TResult>> List() => _getList(_query, null, null);
    method List (line 30) | public Task<List<TResult>> List(int firstResult, int maxResults) => _g...
    method Count (line 36) | public async Task<int> Count() => (await _getCount(_query)).Count;

FILE: Camunda.Api.Client/RestError.cs
  class RestError (line 3) | public class RestError

FILE: Camunda.Api.Client/RetriesInfo.cs
  class RetriesInfo (line 3) | internal class RetriesInfo

FILE: Camunda.Api.Client/Signal/ISignalRestService.cs
  type ISignalRestService (line 6) | internal interface ISignalRestService
    method ThrowSignal (line 8) | [Post("/signal")]

FILE: Camunda.Api.Client/Signal/Signal.cs
  class Signal (line 5) | public class Signal

FILE: Camunda.Api.Client/Signal/SignalService.cs
  class SignalService (line 5) | public class SignalService
    method SignalService (line 9) | internal SignalService(ISignalRestService api)
    method ThrowSignal (line 18) | public Task ThrowSignal(Signal signal) => _api.ThrowSignal(signal);

FILE: Camunda.Api.Client/SortOrder.cs
  type SortOrder (line 5) | public enum SortOrder

FILE: Camunda.Api.Client/SortableQuery.cs
  class SortableQuery (line 6) | public abstract class SortableQuery<TSortingEnum, TQuery>
    method Sort (line 15) | public TQuery Sort(TSortingEnum sortBy, SortOrder sortOrder = SortOrde...

FILE: Camunda.Api.Client/SortingInfo.cs
  class SortingInfo (line 7) | public class SortingInfo<TEnum> where TEnum: struct, IConvertible
    method ToString (line 20) | public override string ToString() => SortBy.ToString() + " " + SortOrder;

FILE: Camunda.Api.Client/StringEnumConverter.cs
  class StringEnumConverter (line 5) | internal class StringEnumConverter : Newtonsoft.Json.Converters.StringEn...
    method StringEnumConverter (line 9) | public StringEnumConverter()

FILE: Camunda.Api.Client/StringExtensions.cs
  class StringExtensions (line 6) | internal static class StringExtensions
    method Join (line 8) | public static string Join(this IEnumerable<string> str)

FILE: Camunda.Api.Client/SuspensionState.cs
  class SuspensionState (line 3) | public class SuspensionState
    method ToString (line 7) | public override string ToString() => Suspended.ToString();

FILE: Camunda.Api.Client/Tenant/ITenantRestService.cs
  type ITenantRestService (line 7) | internal interface ITenantRestService
    method GetList (line 9) | [Get("/tenant")]
    method GetListCount (line 12) | [Get("/tenant/count")]
    method Create (line 15) | [Post("/tenant/create")]

FILE: Camunda.Api.Client/Tenant/TenantInfo.cs
  class TenantInfo (line 3) | public class TenantInfo

FILE: Camunda.Api.Client/Tenant/TenantQuery.cs
  class TenantQuery (line 3) | public class TenantQuery : QueryParameters

FILE: Camunda.Api.Client/Tenant/TenantService.cs
  class TenantService (line 8) | public class TenantService
    method TenantService (line 12) | internal TenantService(ITenantRestService api) { _api = api; }
    method Query (line 14) | public QueryResource<TenantQuery, TenantInfo> Query(TenantQuery query ...
    method Create (line 20) | public Task Create(TenantInfo tenant) =>

FILE: Camunda.Api.Client/User/CreateUser.cs
  class CreateUser (line 3) | internal class CreateUser

FILE: Camunda.Api.Client/User/IUserRestService.cs
  type IUserRestService (line 7) | internal interface IUserRestService
    method GetList (line 9) | [Get("/user")]
    method GetListCount (line 12) | [Get("/user/count")]
    method GetProfile (line 15) | [Get("/user/{id}/profile")]
    method UpdateProfile (line 18) | [Put("/user/{id}/profile")]
    method UpdateCredentials (line 21) | [Put("/user/{id}/credentials")]
    method Delete (line 24) | [Delete("/user/{id}")]
    method Create (line 27) | [Post("/user/create")]

FILE: Camunda.Api.Client/User/UserCredentialsInfo.cs
  class UserCredentialsInfo (line 3) | internal class UserCredentialsInfo

FILE: Camunda.Api.Client/User/UserProfileInfo.cs
  class UserProfileInfo (line 3) | public class UserProfileInfo
    method ToString (line 22) | public override string ToString() => Id;

FILE: Camunda.Api.Client/User/UserQuery.cs
  class UserQuery (line 3) | public class UserQuery : QueryParameters
  type UserSorting (line 52) | public enum UserSorting

FILE: Camunda.Api.Client/User/UserResource.cs
  class UserResource (line 5) | public class UserResource
    method UserResource (line 10) | internal UserResource(IUserRestService api, string userId)
    method Get (line 19) | public Task<UserProfileInfo> Get() => _api.GetProfile(_userId);
    method Delete (line 24) | public Task Delete() => _api.Delete(_userId);
    method Update (line 29) | public Task Update(UserProfileInfo profile) => _api.UpdateProfile(_use...
    method SetPassword (line 36) | public Task SetPassword(string password, string authenticatedUserPassw...
    method ToString (line 39) | public override string ToString() => _userId;

FILE: Camunda.Api.Client/User/UserService.cs
  class UserService (line 5) | public class UserService
    method UserService (line 9) | internal UserService(IUserRestService api) { _api = api; }
    method Query (line 11) | public QueryResource<UserQuery, UserProfileInfo> Query(UserQuery query...
    method Create (line 26) | public Task Create(UserProfileInfo profile, string password) =>

FILE: Camunda.Api.Client/UserInfo.cs
  class UserInfo (line 3) | internal class UserInfo

FILE: Camunda.Api.Client/UserTask/AttachmentContent.cs
  class AttachmentContent (line 8) | public class AttachmentContent : StreamContent
    method AttachmentContent (line 11) | public AttachmentContent(Stream stream) : base(stream)

FILE: Camunda.Api.Client/UserTask/AttachmentInfo.cs
  class AttachmentInfo (line 3) | public class AttachmentInfo
    method ToString (line 12) | public override string ToString() => Id;

FILE: Camunda.Api.Client/UserTask/Comment.cs
  class Comment (line 3) | public class Comment
    method ToString (line 10) | public override string ToString() => Message;

FILE: Camunda.Api.Client/UserTask/CommentInfo.cs
  class CommentInfo (line 5) | public class CommentInfo : Comment
    method ToString (line 24) | public override string ToString() => base.ToString() ?? Id;

FILE: Camunda.Api.Client/UserTask/CompleteTask.cs
  class CompleteTask (line 5) | public class CompleteTask : ResolveTask
    method SetVariable (line 12) | public new CompleteTask SetVariable(string name, object value)

FILE: Camunda.Api.Client/UserTask/DelegationState.cs
  type DelegationState (line 5) | public enum DelegationState

FILE: Camunda.Api.Client/UserTask/IUserTaskRestService.cs
  type IUserTaskRestService (line 9) | internal interface IUserTaskRestService
    method Get (line 11) | [Get("/task/{id}")]
    method GetList (line 14) | [Post("/task")]
    method GetListCount (line 17) | [Post("/task/count")]
    method GetForm (line 20) | [Get("/task/{id}/form")]
    method CompleteTask (line 23) | [Post("/task/{id}/complete")]
    method CompleteTaskAndFetchVariables (line 26) | [Post("/task/{id}/complete")]
    method ResolveTask (line 29) | [Post("/task/{id}/resolve")]
    method SubmitFormTask (line 32) | [Post("/task/{id}/submit-form")]
    method SubmitFormTaskAndFetchVariables (line 35) | [Post("/task/{id}/submit-form")]
    method GetRenderedForm (line 38) | [Get("/task/{id}/rendered-form")]
    method ClaimTask (line 41) | [Post("/task/{id}/claim")]
    method SetAssignee (line 44) | [Post("/task/{id}/assignee")]
    method UnclaimTask (line 47) | [Post("/task/{id}/unclaim")]
    method DelegateTask (line 50) | [Post("/task/{id}/delegate")]
    method DeleteTask (line 53) | [Delete("/task/{id}")]
    method GetFormVariables (line 56) | [Get("/task/{id}/form-variables")]
    method CreateTask (line 59) | [Post("/task/create")]
    method UpdateTask (line 62) | [Put("/task/{id}")]
    method GetComments (line 65) | [Get("/task/{id}/comment")]
    method GetComment (line 68) | [Get("/task/{id}/comment/{commentId}")]
    method CreateComment (line 71) | [Post("/task/{id}/comment/create")]
    method GetAttachments (line 75) | [Get("/task/{id}/attachment")]
    method GetAttachment (line 78) | [Get("/task/{id}/attachment/{attachmentId}")]
    method GetAttachmentData (line 81) | [Get("/task/{id}/attachment/{attachmentId}/data")]
    method DeleteAttachment (line 84) | [Delete("/task/{id}/attachment/{attachmentId}")]
    method AddAttachment (line 87) | [Post("/task/{id}/attachment/create"), Multipart]
    method GetIdentityLinks (line 94) | [Get("/task/{id}/identity-links")]
    method AddIdentityLink (line 97) | [Post("/task/{id}/identity-links")]
    method DeleteIdentityLink (line 100) | [Post("/task/{id}/identity-links/delete")]
    method DeleteVariable (line 107) | [Delete("/task/{id}/variables/{varName}")]
    method GetVariable (line 110) | [Get("/task/{id}/variables/{varName}")]
    method GetVariables (line 113) | [Get("/task/{id}/variables")]
    method GetBinaryVariable (line 116) | [Get("/task/{id}/variables/{varName}/data")]
    method SetBinaryVariable (line 119) | [Post("/task/{id}/variables/{varName}/data"), Multipart]
    method ModifyVariables (line 122) | [Post("/task/{id}/variables")]
    method PutVariable (line 125) | [Put("/task/{id}/variables/{varName}")]
    method DeleteLocalVariable (line 132) | [Delete("/task/{id}/localVariables/{varName}")]
    method GetLocalVariable (line 135) | [Get("/task/{id}/localVariables/{varName}")]
    method GetLocalVariables (line 138) | [Get("/task/{id}/localVariables")]
    method GetBinaryLocalVariable (line 141) | [Get("/task/{id}/localVariables/{varName}/data")]
    method SetBinaryLocalVariable (line 144) | [Post("/task/{id}/localVariables/{varName}/data"), Multipart]
    method ModifyLocalVariables (line 147) | [Post("/task/{id}/localVariables")]
    method PutLocalVariable (line 150) | [Put("/task/{id}/localVariables/{varName}")]
    method GetTaskCountByCandidateGroup (line 157) | [Get("/task/report/candidate-group-count")]

FILE: Camunda.Api.Client/UserTask/IdentityLink.cs
  class IdentityLink (line 6) | public class IdentityLink
    method ToString (line 22) | public override string ToString()
  class IdentityLinkType (line 31) | public static class IdentityLinkType

FILE: Camunda.Api.Client/UserTask/LocalVariableResource.cs
  class LocalVariableResource (line 7) | public class LocalVariableResource : IVariableResource
    method LocalVariableResource (line 12) | internal LocalVariableResource(IUserTaskRestService api, string taskId)
    method GetAll (line 22) | public Task<Dictionary<string, VariableValue>> GetAll(bool deserialize...
    method Get (line 26) | public Task<VariableValue> Get(string variableName, bool deserializeVa...
    method GetBinary (line 30) | public async Task<HttpContent> GetBinary(string variableName) => (awai...
    method Set (line 34) | public Task Set(string variableName, VariableValue variable) => _api.P...
    method SetBinary (line 38) | public Task SetBinary(string variableName, BinaryDataContent data, Bin...
    method Delete (line 42) | public Task Delete(string variableName) => _api.DeleteLocalVariable(_t...
    method Modify (line 46) | public Task Modify(PatchVariables patch) => _api.ModifyLocalVariables(...
    method ToString (line 48) | public override string ToString() => _taskId;

FILE: Camunda.Api.Client/UserTask/ResolveTask.cs
  class ResolveTask (line 5) | public class ResolveTask
    method SetVariable (line 12) | public ResolveTask SetVariable(string name, object value)

FILE: Camunda.Api.Client/UserTask/TaskAttachmentResource.cs
  class TaskAttachmentResource (line 7) | public class TaskAttachmentResource
    method TaskAttachmentResource (line 12) | internal TaskAttachmentResource(IUserTaskRestService api, string taskId)
    method GetAll (line 21) | public Task<List<AttachmentInfo>> GetAll() => _api.GetAttachments(_tas...
    method Get (line 26) | public Task<AttachmentInfo> Get(string attachmentId) => _api.GetAttach...
    method GetData (line 31) | public async Task<HttpContent> GetData(string attachmentId) => (await ...
    method Delete (line 36) | public Task Delete(string attachmentId) => _api.DeleteAttachment(_task...
    method Create (line 46) | public Task<AttachmentInfo> Create(string name, string description, st...
    method ToString (line 50) | public override string ToString() => _taskId;

FILE: Camunda.Api.Client/UserTask/TaskCommentResource.cs
  class TaskCommentResource (line 9) | public class TaskCommentResource
    method TaskCommentResource (line 14) | internal TaskCommentResource(IUserTaskRestService api, string taskId)
    method GetAll (line 23) | public Task<List<CommentInfo>> GetAll() => _api.GetComments(_taskId);
    method Get (line 27) | public Task<CommentInfo> Get(string commentId) => _api.GetComment(_tas...
    method Create (line 32) | public Task<CommentInfo> Create(string message) => _api.CreateComment(...
    method ToString (line 34) | public override string ToString() => _taskId;

FILE: Camunda.Api.Client/UserTask/TaskCountByCandidateGroupResult.cs
  class TaskCountByCandidateGroupResult (line 3) | public class TaskCountByCandidateGroupResult
    method ToString (line 14) | public override string ToString()

FILE: Camunda.Api.Client/UserTask/TaskIdentityLinkResource.cs
  class TaskIdentityLinkResource (line 6) | public class TaskIdentityLinkResource
    method TaskIdentityLinkResource (line 11) | internal TaskIdentityLinkResource(IUserTaskRestService api, string tas...
    method GetAll (line 21) | public Task<List<IdentityLink>> GetAll(string type) => _api.GetIdentit...
    method GetAll (line 26) | public Task<List<IdentityLink>> GetAll() => GetAll(null);
    method Add (line 31) | public Task Add(IdentityLink identityLink) => _api.AddIdentityLink(_ta...
    method Delete (line 36) | public Task Delete(IdentityLink identityLink) => _api.DeleteIdentityLi...
    method ToString (line 38) | public override string ToString() => _taskId;

FILE: Camunda.Api.Client/UserTask/TaskQuery.cs
  class TaskQuery (line 8) | public class TaskQuery
    method Sort (line 338) | public TaskQuery Sort(TaskSorting sortBy, SortOrder sortOrder = SortOr...
  type TaskSorting (line 368) | public enum TaskSorting

FILE: Camunda.Api.Client/UserTask/TaskResource.cs
  class TaskResource (line 7) | public class TaskResource
    method TaskResource (line 12) | internal TaskResource(IUserTaskRestService api, string taskId)
    method Get (line 27) | public Task<UserTaskInfo> Get() => _api.Get(_taskId);
    method GetForm (line 34) | public Task<FormInfo> GetForm() => _api.GetForm(_taskId);
    method SubmitForm (line 43) | public Task SubmitForm(CompleteTask completeTask) => _api.SubmitFormTa...
    method SubmitFormAndFetchVariables (line 52) | public Task<Dictionary<string, VariableValue>> SubmitFormAndFetchVaria...
    method GetRenderedForm (line 57) | public Task<string> GetRenderedForm() => _api.GetRenderedForm(_taskId);
    method Claim (line 65) | public Task Claim(string userId) => _api.ClaimTask(_taskId, new UserIn...
    method Unclaim (line 70) | public Task Unclaim() => _api.UnclaimTask(_taskId);
    method Complete (line 75) | public Task Complete(CompleteTask completeTask) => _api.CompleteTask(_...
    method CompleteAndFetchVariables (line 80) | public Task<Dictionary<string, VariableValue>> CompleteAndFetchVariabl...
    method Resolve (line 85) | public Task Resolve(ResolveTask resolveTask) => _api.ResolveTask(_task...
    method Delegate (line 90) | public Task Delegate(string delegatedUser) => _api.DelegateTask(_taskI...
    method SetAssignee (line 98) | public Task SetAssignee(string userId) => _api.SetAssignee(_taskId, ne...
    method GetFormVariables (line 110) | public Task<Dictionary<string, VariableValue>> GetFormVariables(params...
    method GetFormVariables (line 122) | public Task<Dictionary<string, VariableValue>> GetFormVariables(string...
    method Update (line 127) | public Task Update(UserTask task) => _api.UpdateTask(_taskId, task);
    method Delete (line 132) | public Task Delete() => _api.DeleteTask(_taskId);
    method ToString (line 134) | public override string ToString() => _taskId;

FILE: Camunda.Api.Client/UserTask/UserTask.cs
  class UserTask (line 5) | public class UserTask
    method ToString (line 53) | public override string ToString() => Name;

FILE: Camunda.Api.Client/UserTask/UserTaskInfo.cs
  class UserTaskInfo (line 5) | public class UserTaskInfo : UserTask
    method ToString (line 44) | public override string ToString() => base.ToString() ?? Id;

FILE: Camunda.Api.Client/UserTask/UserTaskService.cs
  class UserTaskService (line 6) | public class UserTaskService
    method UserTaskService (line 10) | internal UserTaskService(IUserTaskRestService api)
    method GetTaskCountByCandidateGroup (line 20) | public Task<List<TaskCountByCandidateGroupResult>> GetTaskCountByCandi...
    method Query (line 22) | public QueryResource<TaskQuery, UserTaskInfo> Query(TaskQuery query = ...
    method Create (line 25) | public Task Create(UserTask task) => _api.CreateTask(task);

FILE: Camunda.Api.Client/UserTask/VariableResource.cs
  class VariableResource (line 7) | public class VariableResource : IVariableResource
    method VariableResource (line 12) | internal VariableResource(IUserTaskRestService api, string taskId)
    method GetAll (line 22) | public Task<Dictionary<string, VariableValue>> GetAll(bool deserialize...
    method Get (line 26) | public Task<VariableValue> Get(string variableName, bool deserializeVa...
    method GetBinary (line 30) | public async Task<HttpContent> GetBinary(string variableName) => (awai...
    method Set (line 34) | public Task Set(string variableName, VariableValue variable) => _api.P...
    method SetBinary (line 38) | public Task SetBinary(string variableName, BinaryDataContent data, Bin...
    method Delete (line 42) | public Task Delete(string variableName) => _api.DeleteVariable(_taskId...
    method Modify (line 46) | public Task Modify(PatchVariables patch) => _api.ModifyVariables(_task...
    method ToString (line 48) | public override string ToString() => _taskId;

FILE: Camunda.Api.Client/ValueTypeContent.cs
  class ValueTypeContent (line 7) | internal class ValueTypeContent : StringContent
    method ValueTypeContent (line 9) | public ValueTypeContent(string valueType) : base(valueType)

FILE: Camunda.Api.Client/VariableInstance/IVariableInstanceRestService.cs
  type IVariableInstanceRestService (line 8) | internal interface IVariableInstanceRestService
    method Get (line 10) | [Get("/variable-instance/{variableInstanceId}")]
    method GetList (line 13) | [Post("/variable-instance")]
    method GetListCount (line 16) | [Post("/variable-instance/count")]
    method GetBinaryVariable (line 19) | [Get("/variable-instance/{variableInstanceId}/data")]

FILE: Camunda.Api.Client/VariableInstance/VariableInstanceInfo.cs
  class VariableInstanceInfo (line 3) | public class VariableInstanceInfo : NamedVariableValue

FILE: Camunda.Api.Client/VariableInstance/VariableInstanceQuery.cs
  class VariableInstanceQuery (line 6) | public class VariableInstanceQuery : SortableQuery<VariableInstanceSorti...
  type VariableInstanceSorting (line 62) | public enum VariableInstanceSorting

FILE: Camunda.Api.Client/VariableInstance/VariableInstanceQueryResource.cs
  class VariableInstanceQueryResource (line 6) | public class VariableInstanceQueryResource
    method VariableInstanceQueryResource (line 11) | internal VariableInstanceQueryResource(IVariableInstanceRestService ap...
    method List (line 20) | public Task<List<VariableInstanceInfo>> List() => _api.GetList(_query,...
    method List (line 28) | public Task<List<VariableInstanceInfo>> List(int firstResult, int maxR...
    method Count (line 34) | public async Task<int> Count() => (await _api.GetListCount(_query)).Co...

FILE: Camunda.Api.Client/VariableInstance/VariableInstanceResource.cs
  class VariableInstanceResource (line 6) | public class VariableInstanceResource
    method VariableInstanceResource (line 11) | internal VariableInstanceResource(IVariableInstanceRestService api, st...
    method Get (line 20) | public Task<VariableInstanceInfo> Get() => _api.Get(_variableInstanceId);
    method GetBinary (line 26) | public async Task<HttpContent> GetBinary() => (await _api.GetBinaryVar...
    method ToString (line 28) | public override string ToString() => _variableInstanceId;

FILE: Camunda.Api.Client/VariableInstance/VariableInstanceService.cs
  class VariableInstanceService (line 3) | public class VariableInstanceService
    method VariableInstanceService (line 7) | internal VariableInstanceService(IVariableInstanceRestService api) { _...
    method Query (line 12) | public VariableInstanceQueryResource Query(VariableInstanceQuery query...

FILE: Camunda.Api.Client/VariableOrder.cs
  class VariableOrder (line 3) | public class VariableOrder
    method VariableOrder (line 8) | public VariableOrder(string variableName, VariableType variableType)

FILE: Camunda.Api.Client/VariableQueryParameter.cs
  class VariableQueryParameter (line 4) | public class VariableQueryParameter : ConditionQueryParameter

FILE: Camunda.Api.Client/VariableValue.cs
  class VariableValue (line 14) | [JsonObject]
    method VariableValue (line 103) | protected VariableValue() { }
    class VariableValueJsonConverter (line 114) | private class VariableValueJsonConverter : JsonConverter
      method CanConvert (line 116) | public override bool CanConvert(Type objectType) => objectType.IsAss...
      method ReadJson (line 120) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method PopulateMember (line 168) | protected virtual bool PopulateMember(string memberName, JsonReader ...
      method WriteJson (line 196) | public override void WriteJson(JsonWriter writer, object value, Json...
      method StrToCamelCase (line 201) | private string StrToCamelCase(string str)
    method ToString (line 210) | public override string ToString()
    method FromObject (line 223) | public static VariableValue FromObject(object value)
    method FromFile (line 236) | public static VariableValue FromFile(string path, string mimeType, str...
    method FromFile (line 248) | public static VariableValue FromFile(byte[] content, string fileName, ...
    method FromTextFile (line 270) | public static VariableValue FromTextFile(string path, string charset =...
    method FromBinaryFile (line 280) | public static VariableValue FromBinaryFile(string path, string mimeTyp...
    method GetValue (line 288) | public T GetValue<T>() => (T)GetValue(typeof(T));
    method GetValue (line 293) | public object GetValue(Type type)
    method GetValue (line 298) | static object GetValue(object source, Type type)
    method SetTypedValue (line 312) | protected void SetTypedValue(object value)
    method EnableTypedObject (line 351) | public void EnableTypedObject()
    method GetTypeCode (line 360) | TypeCode IConvertible.GetTypeCode() => Convert.GetTypeCode(Value);
    method ToBoolean (line 361) | bool IConvertible.ToBoolean(IFormatProvider provider) => Convert.ToBoo...
    method ToChar (line 362) | char IConvertible.ToChar(IFormatProvider provider) => Convert.ToChar(V...
    method ToSByte (line 363) | sbyte IConvertible.ToSByte(IFormatProvider provider) => Convert.ToSByt...
    method ToByte (line 364) | byte IConvertible.ToByte(IFormatProvider provider) => Convert.ToByte(V...
    method ToInt16 (line 365) | short IConvertible.ToInt16(IFormatProvider provider) => Convert.ToInt1...
    method ToUInt16 (line 366) | ushort IConvertible.ToUInt16(IFormatProvider provider) => Convert.ToUI...
    method ToInt32 (line 367) | int IConvertible.ToInt32(IFormatProvider provider) => Convert.ToInt32(...
    method ToUInt32 (line 368) | uint IConvertible.ToUInt32(IFormatProvider provider) => Convert.ToUInt...
    method ToInt64 (line 369) | long IConvertible.ToInt64(IFormatProvider provider) => Convert.ToInt64...
    method ToUInt64 (line 370) | ulong IConvertible.ToUInt64(IFormatProvider provider) => Convert.ToUIn...
    method ToSingle (line 371) | float IConvertible.ToSingle(IFormatProvider provider) => Convert.ToSin...
    method ToDouble (line 372) | double IConvertible.ToDouble(IFormatProvider provider) => Convert.ToDo...
    method ToDecimal (line 373) | decimal IConvertible.ToDecimal(IFormatProvider provider) => Convert.To...
    method ToDateTime (line 374) | DateTime IConvertible.ToDateTime(IFormatProvider provider) => Convert....
    method ToString (line 375) | string IConvertible.ToString(IFormatProvider provider) => Convert.ToSt...
    method ToType (line 376) | object IConvertible.ToType(Type conversionType, IFormatProvider provid...
    class SerializedTypedObject (line 378) | private class SerializedTypedObject
  type VariableType (line 386) | public enum VariableType
  type BinaryVariableType (line 407) | public enum BinaryVariableType
  class VariableValueTypeConverter (line 413) | class VariableValueTypeConverter : System.ComponentModel.TypeConverter
    method CanConvertTo (line 415) | public override bool CanConvertTo(ITypeDescriptorContext context, Type...
    method CanConvertFrom (line 420) | public override bool CanConvertFrom(ITypeDescriptorContext context, Ty...
    method ConvertTo (line 425) | public override object ConvertTo(ITypeDescriptorContext context, Syste...
    method ConvertFrom (line 431) | public override object ConvertFrom(ITypeDescriptorContext context, Sys...
Condensed preview — 307 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (778K chars).
[
  {
    "path": ".gitattributes",
    "chars": 2518,
    "preview": "###############################################################################\n# Set default behavior to automatically "
  },
  {
    "path": ".gitignore",
    "chars": 3755,
    "preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
  },
  {
    "path": "Camunda.Api.Client/ApiException.cs",
    "chars": 11673,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Concurrent;\nusing System.Diagnostics;\nusing System.Linq.E"
  },
  {
    "path": "Camunda.Api.Client/Batch/BatchInfo.cs",
    "chars": 2009,
    "preview": "namespace Camunda.Api.Client.Batch\n{\n    public class BatchInfo\n    {\n        /// <summary>\n        /// The id of the b"
  },
  {
    "path": "Camunda.Api.Client/BinaryDataContent.cs",
    "chars": 812,
    "preview": "using Iana;\nusing System.IO;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\n\nnamespace Camunda.Api.Client\n{\n    "
  },
  {
    "path": "Camunda.Api.Client/Camunda.Api.Client.csproj",
    "chars": 1778,
    "preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>netstandard2.0;net461</TargetFrameworks>\n   "
  },
  {
    "path": "Camunda.Api.Client/CamundaClient.cs",
    "chars": 15805,
    "preview": "using System;\nusing System.Net.Http;\nusing System.Reflection;\nusing System.Globalization;\nusing Newtonsoft.Json;\nusing "
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionDiagram.cs",
    "chars": 500,
    "preview": "namespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionDiagram\n    {\n        /// <summary>\n      "
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionInfo.cs",
    "chars": 1382,
    "preview": "namespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionInfo\n    {\n        /// <summary>\n        //"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionQuery.cs",
    "chars": 3706,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public clas"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResource.cs",
    "chars": 1064,
    "preview": "using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Clie"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceById.cs",
    "chars": 1049,
    "preview": "using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Clie"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKey.cs",
    "chars": 1064,
    "preview": "using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Clie"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKeyAndTenantId.cs",
    "chars": 1236,
    "preview": "using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Clie"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionService.cs",
    "chars": 973,
    "preview": "namespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionService\n    {\n        private ICaseDefinit"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CreateCaseInstance.cs",
    "chars": 905,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public class CreateCaseInstance\n  "
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/ICaseDefinitionRestService.cs",
    "chars": 2113,
    "preview": "using Camunda.Api.Client.CaseInstance;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing Syst"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionComplete.cs",
    "chars": 263,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionComplete\n"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionDisable.cs",
    "chars": 262,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionDisable\n "
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionInfo.cs",
    "chars": 2382,
    "preview": "namespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionInfo\n    {\n        /// <summary>\n        /// "
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionQuery.cs",
    "chars": 3112,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionReEnable.cs",
    "chars": 263,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionReEnable\n"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionResource.cs",
    "chars": 2667,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionResource\n    "
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionService.cs",
    "chars": 679,
    "preview": "namespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionService\n    {\n        private ICaseExecution"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionStart.cs",
    "chars": 260,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionStart\n   "
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionTerminate.cs",
    "chars": 264,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionTerminate"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/ICaseExecutionRestService.cs",
    "chars": 1158,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseExecutio"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceDeleteVariable.cs",
    "chars": 214,
    "preview": "#region Usings\n\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseIn"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceInfo.cs",
    "chars": 978,
    "preview": "namespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceInfo\n    {\n        /// <summary>\n        /// Th"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceQuery.cs",
    "chars": 1592,
    "preview": "#region Usings\n\nusing System.Collections.Generic;\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.Case"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceQueryVariable.cs",
    "chars": 355,
    "preview": "#region Usings\n\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseIn"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceResource.cs",
    "chars": 2556,
    "preview": "#region Usings\n\nusing System.Collections.Generic;\nusing System.Net;\nusing System.Net.Http;\nusing System.Threading.Tasks"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceService.cs",
    "chars": 665,
    "preview": "namespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceService\n    {\n        private ICaseInstanceRes"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceSorting.cs",
    "chars": 189,
    "preview": "namespace Camunda.Api.Client.CaseInstance\n{\n    public enum CaseInstanceSorting\n    {\n        CaseInstanceId,\n        C"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceVariableValue.cs",
    "chars": 229,
    "preview": "#region Usings\n\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseIn"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/ChangeCaseInstanceState.cs",
    "chars": 390,
    "preview": "#region Usings\n\nusing System.Collections.Generic;\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.Case"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/ICaseInstanceRestService.cs",
    "chars": 2051,
    "preview": "#region Usings\n\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing Refit;\n\n#e"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/VariableResource.cs",
    "chars": 2719,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Ca"
  },
  {
    "path": "Camunda.Api.Client/ConditionQueryParameter.cs",
    "chars": 823,
    "preview": "using System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client\n{\n    public class ConditionQueryParameter\n    {\n    "
  },
  {
    "path": "Camunda.Api.Client/CountResult.cs",
    "chars": 194,
    "preview": "namespace Camunda.Api.Client\n{\n    internal class CountResult\n    {\n        /// <summary>\n        /// The number of mat"
  },
  {
    "path": "Camunda.Api.Client/DateTimeExtensions.cs",
    "chars": 1088,
    "preview": "using System;\nusing System.Globalization;\nusing System.Runtime.CompilerServices;\n\n[assembly: InternalsVisibleTo(\"Camund"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionDiagram.cs",
    "chars": 515,
    "preview": "namespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionDiagram\n    {\n        /// <summary"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionInfo.cs",
    "chars": 2150,
    "preview": "namespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionInfo\n    {\n        /// <summary>\n  "
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionQuery.cs",
    "chars": 3849,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public "
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResource.cs",
    "chars": 1051,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.De"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceById.cs",
    "chars": 1044,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.De"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKey.cs",
    "chars": 1058,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.De"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKeyAndTenantId.cs",
    "chars": 1230,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.De"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionService.cs",
    "chars": 1101,
    "preview": "namespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionService\n    {\n        private IDec"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/EvaluateDecision.cs",
    "chars": 652,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public class EvaluateDecision\n"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/IDecisionDefinitionRestService.cs",
    "chars": 2206,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda."
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentInfo.cs",
    "chars": 763,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentInfo\n    {\n        /// <summary>\n  "
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentQuery.cs",
    "chars": 2528,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    p"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentResource.cs",
    "chars": 1911,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentResource\n    {\n    "
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentResourceInfo.cs",
    "chars": 515,
    "preview": "\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentResourceInfo\n    {\n        /// <summary>\n        "
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentResourcesResource.cs",
    "chars": 1289,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.De"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentService.cs",
    "chars": 4307,
    "preview": "using System.Linq;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class Deployment"
  },
  {
    "path": "Camunda.Api.Client/Deployment/IDeploymentRestService.cs",
    "chars": 1745,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda."
  },
  {
    "path": "Camunda.Api.Client/Deployment/RedeploymentInfo.cs",
    "chars": 586,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class RedeploymentInfo\n    {\n  "
  },
  {
    "path": "Camunda.Api.Client/Deployment/ResourceDataContent.cs",
    "chars": 789,
    "preview": "using Iana;\nusing System;\nusing System.IO;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\n\nnamespace Camunda.Api"
  },
  {
    "path": "Camunda.Api.Client/EnumerableExtensions.cs",
    "chars": 493,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client\n{\n    public static class EnumerableExtensions\n    {\n  "
  },
  {
    "path": "Camunda.Api.Client/ErrorMessageHandler.cs",
    "chars": 1635,
    "preview": "using Iana;\nusing Newtonsoft.Json;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\n\nnamesp"
  },
  {
    "path": "Camunda.Api.Client/Execution/EventSubscription.cs",
    "chars": 1383,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class EventSubscription\n    {\n        /// <summary>\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/EventSubscriptionResource.cs",
    "chars": 1123,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class EventSubscriptionResource\n    "
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionInfo.cs",
    "chars": 678,
    "preview": "namespace Camunda.Api.Client.Execution\n{\n    public class ExecutionInfo\n    {\n        /// <summary>\n        /// The id "
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionQuery.cs",
    "chars": 3632,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class Exe"
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionResource.cs",
    "chars": 1177,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class ExecutionResource\n    {\n      "
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionService.cs",
    "chars": 546,
    "preview": "namespace Camunda.Api.Client.Execution\n{\n    public class ExecutionService\n    {\n        private IExecutionRestService "
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionTrigger.cs",
    "chars": 227,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class ExecutionTrigger\n    {\n   "
  },
  {
    "path": "Camunda.Api.Client/Execution/IExecutionRestService.cs",
    "chars": 2091,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda."
  },
  {
    "path": "Camunda.Api.Client/Execution/LocalVariableResource.cs",
    "chars": 3269,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Ex"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/CompleteExternalTask.cs",
    "chars": 1301,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class CompleteExternalTask\n   "
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskBpmnError.cs",
    "chars": 1100,
    "preview": "\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskBpmnError\n "
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskExtendLock.cs",
    "chars": 392,
    "preview": "\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskExtendLock\n    {\n        /// <summary>\n      "
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskFailure.cs",
    "chars": 1152,
    "preview": "\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskFailure\n    {\n        /// <summary>\n        //"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskInfo.cs",
    "chars": 2840,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskInfo\n    {\n        /// <summary>"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskQuery.cs",
    "chars": 3867,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    "
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskResource.cs",
    "chars": 2968,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskResource\n    {\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskService.cs",
    "chars": 1099,
    "preview": "\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    publi"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs",
    "chars": 3002,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class "
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/FetchExternalTasks.cs",
    "chars": 1180,
    "preview": "\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class FetchExternalTasks\n    "
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/IExternalTaskRestService.cs",
    "chars": 1706,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ExternalTask"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/LockedExternalTask.cs",
    "chars": 345,
    "preview": "using System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class LockedExte"
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterInfo.cs",
    "chars": 2068,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.Filter\n{\n    public class FilterInfo\n    {\n        public class Request\n   "
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterQuery.cs",
    "chars": 1597,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Filter\n{\n    publi"
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterResource.cs",
    "chars": 2013,
    "preview": "using Camunda.Api.Client.UserTask;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.A"
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterService.cs",
    "chars": 887,
    "preview": "using System.Linq;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Filter\n{\n    public class FilterService\n"
  },
  {
    "path": "Camunda.Api.Client/Filter/IFilterRestService.cs",
    "chars": 1175,
    "preview": "using Camunda.Api.Client.UserTask;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.T"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupInfo.cs",
    "chars": 365,
    "preview": "namespace Camunda.Api.Client.Group\n{\n    public class GroupInfo\n\t{\n\t\t/// <summary>\n\t\t/// The id of the group\n\t\t/// </su"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupQuery.cs",
    "chars": 1158,
    "preview": "namespace Camunda.Api.Client.Group\n{\n    public class GroupQuery: QueryParameters\n\t{\n\t\t/// <summary>\n\t\t/// Filter by th"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupResource.cs",
    "chars": 1035,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Group\n{\n    public class GroupResource\n    {\n\t\tprivate IGro"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupService.cs",
    "chars": 749,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Group\n{\n    public class GroupService\n\t{\n\t\tprivate IGroupRe"
  },
  {
    "path": "Camunda.Api.Client/Group/IGroupRestService.cs",
    "chars": 807,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Group\n{\n\tint"
  },
  {
    "path": "Camunda.Api.Client/History/AbstractReport.cs",
    "chars": 1127,
    "preview": "using Newtonsoft.Json;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public abstract "
  },
  {
    "path": "Camunda.Api.Client/History/CleanableProcessInstanceReport.cs",
    "chars": 1108,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class CleanableProcessInstanceReport: CleanableProcessInstanceReportC"
  },
  {
    "path": "Camunda.Api.Client/History/CleanableProcessInstanceReportCount.cs",
    "chars": 1359,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class Clean"
  },
  {
    "path": "Camunda.Api.Client/History/CleanableProcessInstanceReportResult.cs",
    "chars": 1373,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\n\nnamespace Camunda.Api.Client.History\n{\n    public c"
  },
  {
    "path": "Camunda.Api.Client/History/CountReportResult.cs",
    "chars": 845,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class CountReportResult\n    {\n        /// <summary>\n        /// The t"
  },
  {
    "path": "Camunda.Api.Client/History/DeleteHistoricProcessInstances.cs",
    "chars": 586,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class DeleteHistoricProcessInstanc"
  },
  {
    "path": "Camunda.Api.Client/History/DurationReportResult.cs",
    "chars": 703,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class DurationReportResult : ReportResult\n    {\n        /// <summary>"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstance.cs",
    "chars": 3335,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricActivityInstance\n    {\n        /// <summ"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstanceQuery.cs",
    "chars": 3253,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\nusing System.Runtime.Serialization;\n\nnamespace C"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstanceResource.cs",
    "chars": 727,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricActivityInstanceResource"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstanceService.cs",
    "chars": 838,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricActivityInstanceService\n    {\n        private IHistoric"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityStatistics.cs",
    "chars": 2481,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    publ"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityStatisticsResult.cs",
    "chars": 1769,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricActivityStatisticsResult\n    {\n        /// <summary>\n  "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstance.cs",
    "chars": 3898,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstance\n    {\n        /// <"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceQuery.cs",
    "chars": 619,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstanceQuery : SortableQuery<HistoricCaseA"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceQueryResource.cs",
    "chars": 1350,
    "preview": "using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public clas"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceResource.cs",
    "chars": 775,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstanceReso"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceService.cs",
    "chars": 784,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstanceService\n    {\n        private IHist"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseDefinitionResource.cs",
    "chars": 614,
    "preview": "using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public clas"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseDefinitionService.cs",
    "chars": 429,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseDefinitionService\n    {\n        private IHistoricCa"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseDefinitionStatisticsResult.cs",
    "chars": 366,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseDefinitionStatisticsResult\n    {\n        public str"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstance.cs",
    "chars": 2485,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseInstance\n    {\n        /// <summary>"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstanceQuery.cs",
    "chars": 1773,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class Histo"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstanceResource.cs",
    "chars": 710,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseInstanceResource\n   "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstanceService.cs",
    "chars": 777,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseInstanceService\n    {\n        private IHistoricCase"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstance.cs",
    "chars": 3522,
    "preview": "using System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDecisi"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceInputValue.cs",
    "chars": 854,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceInputValue : VariableValue\n    {\n      "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceOutputValue.cs",
    "chars": 1261,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceOutputValue : VariableValue\n    {\n     "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceQuery.cs",
    "chars": 5960,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    publ"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceResource.cs",
    "chars": 712,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceResource"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceService.cs",
    "chars": 917,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceService\n    {\n        private IHistoric"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetail.cs",
    "chars": 3190,
    "preview": "using System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDetail"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetailQuery.cs",
    "chars": 1765,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    publ"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetailResource.cs",
    "chars": 759,
    "preview": "using System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricD"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetailService.cs",
    "chars": 759,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricDetailService\n    {\n        private IHistoricDetailRest"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLog.cs",
    "chars": 3711,
    "preview": "using Camunda.Api.Client.UserTask;\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.Hist"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLogQuery.cs",
    "chars": 4083,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace Camunda.Api.Client"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLogResource.cs",
    "chars": 831,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricExternalTaskLogResource\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLogService.cs",
    "chars": 742,
    "preview": "using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public clas"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricIncident.cs",
    "chars": 2792,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricIncident\n    {\n        /// <summary>\n   "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricIncidentQuery.cs",
    "chars": 3425,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class Histo"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricIncidentService.cs",
    "chars": 574,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricIncidentService\n    {\n        private IHistoricIncident"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLog.cs",
    "chars": 3456,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricJobLog\n    {\n        /// <summary>\n     "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLogQuery.cs",
    "chars": 3706,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class Histo"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLogResource.cs",
    "chars": 855,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricJobLogResource\n    {\n   "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLogService.cs",
    "chars": 676,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricJobLogService\n    {\n        private IHistoricJobLogRest"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessDefinitionService.cs",
    "chars": 2729,
    "preview": "using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public clas"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstance.cs",
    "chars": 3418,
    "preview": "using System;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricProc"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceQuery.cs",
    "chars": 5609,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    publ"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceReport.cs",
    "chars": 1003,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    publ"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceResource.cs",
    "chars": 975,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nna"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceService.cs",
    "chars": 2047,
    "preview": "using Camunda.Api.Client.Batch;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api."
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTask.cs",
    "chars": 338,
    "preview": "using Camunda.Api.Client.UserTask;\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.Hist"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTaskCountReport.cs",
    "chars": 1017,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricTaskCountReport : AbstractReport\n    {\n "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTaskDurationReport.cs",
    "chars": 1027,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricTaskDurationReport : AbstractReport\n    "
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTaskQuery.cs",
    "chars": 13081,
    "preview": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace Camunda.Api.Client"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricUserTaskService.cs",
    "chars": 2193,
    "preview": "using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public clas"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstance.cs",
    "chars": 2778,
    "preview": "using System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricVariableInstance :"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceQuery.cs",
    "chars": 2778,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class Histo"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceQueryResource.cs",
    "chars": 1712,
    "preview": "using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public clas"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceResource.cs",
    "chars": 1167,
    "preview": "using System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricV"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceService.cs",
    "chars": 722,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoricVariableInstanceService\n    {\n        private IHistoric"
  },
  {
    "path": "Camunda.Api.Client/History/HistoryService.cs",
    "chars": 2814,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class HistoryService\n    {\n        private CamundaClient.HistoricApi "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricActivityInstanceRestService.cs",
    "chars": 611,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n  "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricCaseActivityInstanceRestService.cs",
    "chars": 593,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n  "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricCaseDefinitionRestService.cs",
    "chars": 340,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n  "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricCaseInstanceRestService.cs",
    "chars": 577,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n  "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricDecisionInstanceRestService.cs",
    "chars": 566,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n  "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricDetailRestService.cs",
    "chars": 625,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda."
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricExternalTaskLogRestService.cs",
    "chars": 756,
    "preview": "using Refit;\nusing System;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nname"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricIncidentRestService.cs",
    "chars": 428,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n  "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricJobLogRestService.cs",
    "chars": 665,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda."
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricProcessDefinitionRestService.cs",
    "chars": 742,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n  "
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricProcessInstanceRestService.cs",
    "chars": 1012,
    "preview": "using Camunda.Api.Client.Batch;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricUserTaskRestService.cs",
    "chars": 688,
    "preview": "using Refit;\nusing System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Clien"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricVariableInstanceRestService.cs",
    "chars": 814,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda."
  },
  {
    "path": "Camunda.Api.Client/History/ReportResult.cs",
    "chars": 419,
    "preview": "namespace Camunda.Api.Client.History\n{\n    public class ReportResult\n    {\n        /// <summary>\n        /// Specifies "
  },
  {
    "path": "Camunda.Api.Client/HttpContentMultipartItem.cs",
    "chars": 525,
    "preview": "using Refit;\nusing System;\nusing System.Net.Http;\n\nnamespace Camunda.Api.Client\n{\n    public class HttpContentMultipart"
  },
  {
    "path": "Camunda.Api.Client/IVariableResource.cs",
    "chars": 649,
    "preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client\n{\n"
  },
  {
    "path": "Camunda.Api.Client/Identity/IIdentityRestService.cs",
    "chars": 345,
    "preview": "using Refit;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Identity\n{\n    internal interface IIdentityRes"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityGroupMembership.cs",
    "chars": 1069,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Identity\n{\n    public class Iden"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityQuery.cs",
    "chars": 233,
    "preview": "namespace Camunda.Api.Client.Identity\n{\n    public class IdentityQuery : QueryParameters\n    {\n        /// <summary>\n  "
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityService.cs",
    "chars": 904,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Identity\n{\n    public class IdentityService\n    {\n        p"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityUserCredentials.cs",
    "chars": 341,
    "preview": "namespace Camunda.Api.Client.Identity\n{\n    internal class IdentityUserCredentials\n    {\n        /// <summary>\n        "
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityVerifiedUser.cs",
    "chars": 402,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\n\nnamespace Camunda.Api.Client.Identity\n{\n    public "
  },
  {
    "path": "Camunda.Api.Client/Incident/IIncidentRestService.cs",
    "chars": 401,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Incident\n{\n "
  },
  {
    "path": "Camunda.Api.Client/Incident/IncidentInfo.cs",
    "chars": 2190,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.Incident\n{\n    public class IncidentInfo\n    {\n        /// <summary>\n      "
  },
  {
    "path": "Camunda.Api.Client/Incident/IncidentQuery.cs",
    "chars": 2966,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Incident\n{\n    public class Inci"
  },
  {
    "path": "Camunda.Api.Client/Incident/IncidentService.cs",
    "chars": 511,
    "preview": "namespace Camunda.Api.Client.Incident\n{\n    public class IncidentService\n    {\n        private IIncidentRestService _ap"
  },
  {
    "path": "Camunda.Api.Client/Job/IJobRestService.cs",
    "chars": 1426,
    "preview": "using Camunda.Api.Client.Batch;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Thre"
  },
  {
    "path": "Camunda.Api.Client/Job/JobDuedateInfo.cs",
    "chars": 242,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.Job\n{\n    internal class JobDuedateInfo\n    {\n        /// <summary>\n       "
  },
  {
    "path": "Camunda.Api.Client/Job/JobInfo.cs",
    "chars": 1898,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobInfo\n    {\n        /// <summary>\n        /// The "
  },
  {
    "path": "Camunda.Api.Client/Job/JobQuery.cs",
    "chars": 4527,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobQuery "
  },
  {
    "path": "Camunda.Api.Client/Job/JobResource.cs",
    "chars": 2064,
    "preview": "using System;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobResource\n    {\n    "
  },
  {
    "path": "Camunda.Api.Client/Job/JobRetries.cs",
    "chars": 585,
    "preview": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobRetries\n    {\n        /// <su"
  },
  {
    "path": "Camunda.Api.Client/Job/JobService.cs",
    "chars": 1106,
    "preview": "using Camunda.Api.Client.Batch;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobS"
  },
  {
    "path": "Camunda.Api.Client/Job/JobSuspensionState.cs",
    "chars": 1140,
    "preview": "namespace Camunda.Api.Client.Job\n{\n    public class JobSuspensionState : SuspensionState\n    {\n        /// <summary>\n  "
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/IJobDefinitionRestService.cs",
    "chars": 1148,
    "preview": "using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.JobDefinitio"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionInfo.cs",
    "chars": 1774,
    "preview": "namespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionInfo\n    {\n        /// <summary>\n        ///"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionPriority.cs",
    "chars": 727,
    "preview": "namespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionPriority\n    {\n        /// <summary>\n       "
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionQuery.cs",
    "chars": 2566,
    "preview": "using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionResource.cs",
    "chars": 1832,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionResource\n    "
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionService.cs",
    "chars": 1020,
    "preview": "using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionService\n    {"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionSuspensionState.cs",
    "chars": 1597,
    "preview": "using System;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionSuspensionState : SuspensionS"
  },
  {
    "path": "Camunda.Api.Client/MediaTypes.cs",
    "chars": 218572,
    "preview": "using System;\n\nnamespace Iana\n{\n    public class MediaTypes\n    {\n        /// <summary>\n        ///   Encapsulates the "
  },
  {
    "path": "Camunda.Api.Client/Message/CorrelationMessage.cs",
    "chars": 3450,
    "preview": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Serialization;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Cl"
  },
  {
    "path": "Camunda.Api.Client/Message/CorrelationResult.cs",
    "chars": 1295,
    "preview": "using Camunda.Api.Client.Execution;\nusing Camunda.Api.Client.ProcessInstance;\nusing System.Runtime.Serialization;\n\nname"
  }
]

// ... and 107 more files (download for full content)

About this extraction

This page contains the full source code of the jlucansky/Camunda.Api.Client GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 307 files (713.9 KB), approximately 164.0k tokens, and a symbol index with 1259 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!