For the complete documentation index, see llms.txt.
Skip to main content
Version: 8.10 (unreleased)

Domain keys

The Camunda Domain Type System replaces the bare String identifiers emitted by the OpenAPI generator with validated newtypes. Passing a ProcessInstanceKey where a JobKey is expected is a compile error, so whole classes of identifier mix-ups are caught before the request is sent.

Every key type exposes the same methods:

MethodDescription
assume_exists(value: impl Into<String>) -> SelfConstruct without validation. Use when side-loading values not received from an API call.
into_value(self) -> StringConsume the newtype and return the underlying string value.
is_valid(value: &str) -> boolReturns true if the value satisfies this type's constraints.
try_new(value: impl Into<String>) -> Result<Self, CamundaKeyError>Construct with constraint validation.
value(&self) -> &strThe underlying string value.

Key types

Key typeDescription
AgentHistoryItemKeyIdentifier for an agent history item.
AgentInstanceKeyIdentifier for an agent instance.
AuditLogEntityKeySystem-generated entity key for an audit log entry.
AuditLogKeyIdentifier for an audit log.
AuthorizationKeyIdentifier for an authorization.
BatchOperationKeySystem-generated key for an batch operation.
BusinessIdAn optional, user-defined string identifier that identifies the process instance within the scope of a process definition (scoped by tenant). If provided and uniqueness enforcement is enabled, the engine will reject creation if another root process instance with the same business id is already active for the same process definition. Note that any active child process instances with the same business id are not taken into account.
CamundaKeyErrorError returned when a value does not satisfy a Camunda Domain Type's constraints.
ClientIdValidated identifier newtype.
ClusterVariableNameValidated identifier newtype.
ConditionalEvaluationKeyIdentifier for a conditional evaluation.
DecisionDefinitionIdValidated identifier newtype.
DecisionDefinitionKeyIdentifier for a decision definition.
DecisionEvaluationInstanceKeyIdentifier for a decision evaluation instance.
DecisionEvaluationKeyIdentifier for a decision evaluation.
DecisionInstanceKeyIdentifier for a decision instance.
DecisionRequirementsKeyIdentifier for a decision requirements.
DeploymentKeyIdentifier for a deployment.
DocumentIdDocument Id that uniquely identifies a document.
ElementIdThe model-defined id of an element.
ElementInstanceKeyIdentifier for an element instance.
EndCursorValidated identifier newtype.
FormIdThe user-defined id for the form
FormKeyIdentifier for a form.
GlobalListenerIdValidated identifier newtype.
GroupIdThe unique identifier of a group.
IncidentKeyIdentifier for an incident.
JobKeyIdentifier for a job.
MappingRuleIdValidated identifier newtype.
MessageKeyIdentifier for a message.
MessageSubscriptionKeyIdentifier for a message subscription.
ProcessDefinitionIdValidated identifier newtype.
ProcessDefinitionKeyIdentifier for a process definition.
ProcessInstanceKeyIdentifier for a process instance.
RoleIdValidated identifier newtype.
ScopeKeySystem-generated key for a scope. A scope can hold variables and represents either an element instance in a BPMN process or the process instance itself.
SignalKeyIdentifier for a signal.
StartCursorValidated identifier newtype.
TagValidated identifier newtype.
TenantIdValidated identifier newtype.
UserTaskKeyIdentifier for an user task.
UsernameValidated identifier newtype.
VariableKeyIdentifier for a variable.

Each key also has a matching <Key>ExactMatch wrapper used by the search filter models to express an exact-value match.