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:
| Method | Description |
|---|---|
assume_exists(value: impl Into<String>) -> Self | Construct without validation. Use when side-loading values not received from an API call. |
into_value(self) -> String | Consume the newtype and return the underlying string value. |
is_valid(value: &str) -> bool | Returns true if the value satisfies this type's constraints. |
try_new(value: impl Into<String>) -> Result<Self, CamundaKeyError> | Construct with constraint validation. |
value(&self) -> &str | The underlying string value. |
Key types
| Key type | Description |
|---|---|
AgentDefinitionKey | Identifier for an agent definition. |
AgentHistoryItemKey | Identifier for an agent history item. |
AgentInstanceKey | Identifier for an agent instance. |
AuditLogEntityKey | System-generated entity key for an audit log entry. |
AuditLogKey | Identifier for an audit log. |
AuthorizationKey | Identifier for an authorization. |
BatchOperationKey | System-generated key for an batch operation. |
BusinessId | An 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. |
CamundaKey | Shared behaviour for every Camunda Domain Type (semantic key newtype). |
CamundaKeyError | Error returned when a value does not satisfy a Camunda Domain Type's constraints. |
ClientId | Validated identifier newtype. |
ClusterVariableName | Validated identifier newtype. |
ConditionalEvaluationKey | Identifier for a conditional evaluation. |
DecisionDefinitionId | Validated identifier newtype. |
DecisionDefinitionKey | Identifier for a decision definition. |
DecisionEvaluationInstanceKey | Identifier for a decision evaluation instance. |
DecisionEvaluationKey | Identifier for a decision evaluation. |
DecisionInstanceKey | Identifier for a decision instance. |
DecisionRequirementsKey | Identifier for a decision requirements. |
DeploymentKey | Identifier for a deployment. |
DocumentId | Document Id that uniquely identifies a document. |
ElementId | The model-defined id of an element. |
ElementInstanceKey | Identifier for an element instance. |
EndCursor | Validated identifier newtype. |
FormId | The user-defined id for the form |
FormKey | Identifier for a form. |
GlobalListenerId | Validated identifier newtype. |
GroupId | The unique identifier of a group. |
HistoryItemId | The client-supplied identifier this item was created with. |
IncidentKey | Identifier for an incident. |
JobKey | Identifier for a job. |
JobLeaseToken | An opaque, engine-minted fencing token identifying a single activation of a job. Returned by Activate Jobs as ActivatedJobResult.jobLeaseToken when the job is activated with a lease, and passed back under the same name on fenced job commands and on agent-instance creation/updates, to prove the caller holds the current lease. The token is opaque: clients may rely on its presence and equality only, and must never construct, parse, or otherwise interpret it beyond equality checks. It cannot be minted client-side; only the engine produces it, exactly once per leased activation, and clients must not depend on any particular internal format. |
MappingRuleId | Validated identifier newtype. |
MessageKey | Identifier for a message. |
MessageSubscriptionKey | Identifier for a message subscription. |
ProcessDefinitionId | Validated identifier newtype. |
ProcessDefinitionKey | Identifier for a process definition. |
ProcessInstanceKey | Identifier for a process instance. |
RoleId | Validated identifier newtype. |
ScopeKey | System-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. |
SignalKey | Identifier for a signal. |
StartCursor | Validated identifier newtype. |
Tag | Validated identifier newtype. |
TenantId | Validated identifier newtype. |
UserTaskKey | Identifier for an user task. |
Username | Validated identifier newtype. |
VariableKey | Identifier for a variable. |
Each key also has a matching <Key>ExactMatch wrapper used by the search filter models to express an exact-value match.