Common identifiers overview
Workspace ID
Application ID
Build ID
Process IDs
Workspace identifiers
Workspace ID (Fx-WorkspaceId)
The workspace ID is used to identify the workspace context in multi-tenant environments. Itβs required in certain Kafka headers and API calls.Access Organization Settings
Select Workspaces
View Workspace List
- Workspace name
- Workspace UUID (this is your Workspace ID)
Copy the UUID

00000000-0000-0000-0000-000000000001
- Kafka header:
Fx-WorkspaceId
- API calls requiring workspace context
- Cross-workspace queries and data isolation
Project identifiers
Project ID (Fx-AppId, appId)
The project ID (also called application ID or app ID) identifies your project within FlowX. Itβs one of the most commonly required identifiers.Navigate to Projects
Select Your Project
Copy from URL or Project Details
- Click the three dots to access the contextual menu
- Select βCopy UUIDβ to copy the project UUID

- Kafka header:
Fx-AppId
- API path parameter:
/app/{appId}/...
- Process start requests
- Runtime API calls
Root Application ID (Fx-RootAppId)
The root application ID tracks the originating application throughout process chains, especially when processes spawn subprocesses across different components.Fx-RootAppId
will be the same as Fx-AppId
unless youβre dealing with complex multi-application workflows.- Kafka header:
Fx-RootAppId
- Tracking process chains across multiple applications
- Subprocess communication
Build identifiers
Build ID (buildId)
The build ID is a unique identifier for a specific committed version of your application thatβs been deployed to runtime.Navigate to Runtime Builds
View Build List
- Build version number
- Commit status
- Creation date
Identify Active Build
- API path parameter:
/build/{buildId}/...
- Runtime endpoints used by renderers
- Version-specific API calls
Obtaining Build ID via API
You can retrieve the build ID by calling the builds API endpoint:buildId
values.
Application Version ID (appVersionId, Fx-Build-App-Version-Id)
The application version ID (also calledappVersionId
or applicationVersionId
) identifies a specific app version. Unlike buildId
, this identifier is not unique by itself - itβs only unique when combined with workspaceId
.
- buildId: Unique identifier for a committed build (globally unique)
- appVersionId: Identifier for an app version (unique only within a workspace when combined with
workspaceId
) - Kafka header
Fx-Build-App-Version-Id
contains theappVersionId
, NOT thebuildId
- API path parameter:
/app-version/{appVersionId}/...
- Kafka header:
Fx-Build-App-Version-Id
(replaces deprecatedFx-BuildId
) - Internal Kafka communication between FlowX components
- Always used in combination with
workspaceId
for unique identification
/api/app/{appId}/app-version/{appVersionId}
), you may see the app version ID duplicated in both the main response and within a settings.applicationVersionId
field. This happens because the settings object represents a separate database table, and the view combines multiple tables without explicitly excluding the duplicate data.Fx-BuildId
is deprecated since FlowX 5.0. Use Fx-Build-App-Version-Id
instead. Note that this header contains the appVersionId
, despite the βBuildβ in the header name.Process identifiers
Process Definition Name (processDefinitionName)
The process definition name is the human-readable name you assigned when creating the process.Navigate to Processes
View Process List
Copy Process Name
- Selecting and copying the text directly
- Opening the process and copying from the process settings
- API path parameter:
/process-name/{processDefinitionName}/start
- Kafka header:
Fx-ProcessName
(when starting a process via Kafka) - Process configuration and queries
Process Definition UUID
Process definitions have two types of UUIDs, each serving different purposes:- Resource Definition ID (
resourceDefinitionId
,processDefinitionFlowxUuid
) - Permanent identifier - Resource ID (
resourceId
) - Version-specific identifier
resourceDefinitionId
(also known asprocessDefinitionFlowxUuid
): Stays constant across ALL app versions. This is the logical identifier for the process.resourceId
: Changes with each app version when the process is modified. This identifies a specific version of the process.
Finding Process Definition UUID (resourceDefinitionId)
TheresourceDefinitionId
is the permanent identifier that stays the same across all versions. This is what you typically need for process references and integrations.
Open the Process
Access Process Settings
Copy UUID
resourceDefinitionId
.- Also referred to as
processDefinitionFlowxUuid
in some contexts - Process references and linking
- Cross-version queries
- Most integration scenarios (unless you specifically need a version-specific identifier)
Finding Resource ID (version-specific)
TheresourceId
identifies a specific version of a process and changes with each app version.
resourceId
unless youβre working with internal APIs that specifically require it. Most integrations use resourceDefinitionId
instead.- Version-specific API operations
- Internal queries that need to target a specific app version
- API responses (returned alongside
resourceDefinitionId
)
Resource Definition ID (resourceDefinitionId)
The resource definition ID is a persistent identifier for a resource that stays the same across all app versions. Itβs used to track the evolution of a resource through different versions and to link resources together.- resourceDefinitionId: Permanent identifier that stays constant across versions. Use this to link resources together (e.g., a process using another process, a process using a workflow) and to track changes between different versions of the same resource.
- resourceId: Version-specific identifier that changes with each app version. Use this when you need to modify or reference a specific version of a resource.
- Via API Response
- Via List Endpoints
- Via Browser DevTools
resourceDefinitionId
is present in every resource request (GET, update, delete). The URL pattern follows:resourceDefinitionId
:- Linking resources: When one resource references another (process calls another process, process uses a workflow, etc.)
- Version tracking: To track how a resource evolves across different app versions
- Cross-version queries: Finding all versions of the same logical resource
- API responses: Present in both individual resource requests and list endpoints
- Use
resourceDefinitionId
when you need to reference a resource logically, regardless of version - Use
resourceId
when you need to work with a specific version of a resource (editing, viewing, deploying)
Understanding the relationship: A practical example
Example: Process referencing a Workflow across versions
Example: Process referencing a Workflow across versions
- Process A (Customer Onboarding)
- Workflow B (Document Verification)
resourceDefinitionId: "workflow-doc-verify"
Version 2.0 (After modifying Workflow B):resourceDefinitionId
, which remains constant.Why this matters:- When you modify Workflow B and create a new app version, its
resourceId
changes fromabc-123-v1
toabc-456-v2
- But
resourceDefinitionId
staysworkflow-doc-verify
- Process A doesnβt need to be updated because it references the logical resource, not a specific version
- FlowX automatically resolves to the latest version of Workflow B in the active build
- Use
resourceId
in your API calls to edit/update/delete a specific version - Use
resourceDefinitionId
to understand which logical resource is being modified - Use
resourceDefinitionId
to track history: βShow me all versions of this workflowβ
Process Instance UUID (processInstanceUuid)
When you start a process, FlowX creates a process instance with its own unique identifier.Access Active Processes
View Process Instances
Open Process Status
Copy Instance UUID
- Active process instance: The UUID of this specific process execution
- Click the copy icon to copy the UUID
- Kafka header:
processInstanceUuid
- API calls to query or manipulate specific process instances
- Correlation in Kafka messages
- Audit log queries
Process Instance ID (processInstanceId)
In addition to the UUID, each process instance has a numeric ID.View in Process Status
Check Instance Metadata
processInstanceId
: The numeric IDprocessInstanceUuid
: The UUID
processInstanceId
(numeric) and processInstanceUuid
(UUID) identify the same process instance. Use the UUID for most integrations as itβs globally unique.- Kafka header:
processInstanceId
- Internal database queries
- Some legacy integrations
Token identifiers
Token ID
Tokens represent the current position in a process flow. Each token has an identifier.Open Process Status
View Tokens Section
Identify Token
- Token ID (numeric)
- Token state (ACTIVE, FINISHED, etc.)
- Current node position
- Advanced process debugging
- Custom integrations that need to track token movement
- Internal FlowX Engine operations
Context and correlation identifiers
fxContext
ThefxContext
header is crucial for routing messages in architectures with embedded processes and subprocesses.
- Root process:
"main"
- Embedded subprocess (nodeId=4):
"main:4"
- Sub-subprocess (nodeId=12 inside subprocess 4):
"main:4:12"
- Kafka header:
fxContext
- Routing messages to specific subprocesses
- Message correlation in complex process hierarchies
Authentication identifiers
JWT Token
Most API calls and Kafka messages require authentication via JWT token.Obtain from Browser (Development/Testing)
- Log into FlowX Designer
- Open browser developer tools (F12)
- Go to the Network tab
- Make any request in FlowX Designer
- Click on the request and view headers
- Find the
Authorization
header and copy the JWT token (the part after βBearer β)
Production Authentication
- Never hardcode JWT tokens in your code. Tokens expire and should be refreshed regularly.
- Service accounts (client credentials flow) have elevated privileges in FlowX and should be handled with extreme care.
- For on-premise deployments: Service account setup should be coordinated with your Customer Success team.
- For cloud deployments: Contact FlowX support to discuss proper authentication strategies for your integration needs.
- HTTP header:
Authorization: Bearer {token}
- Kafka header:
jwt
(for process starts via Kafka) - All authenticated API calls
Quick reference table
Hereβs a quick lookup table for common identifiers:Identifier | Also Known As | Format | Where to Find | Used In |
---|---|---|---|---|
Workspace ID | Fx-WorkspaceId | UUID | Organization Settings β Workspaces OR URL | Kafka headers, API calls |
Application ID | appId , Fx-AppId | UUID | Project URL, Project Settings | API paths, Kafka headers |
Root Application ID | Fx-RootAppId | UUID | Same as Application ID (in most cases) | Kafka headers |
Build ID | buildId | UUID | API: /api/app/{appId}/builds | Runtime API paths |
Application Version ID | appVersionId , applicationVersionId , Fx-Build-App-Version-Id | UUID | Runtime β Builds (not directly visible in UI) | API paths, Kafka headers |
Process Definition Name | processDefinitionName | String | Definitions β Processes (process name) | API paths, Kafka headers |
Process Definition UUID | processDefinitionFlowxUuid , resourceDefinitionId | UUID | Process Settings OR URL when editing | Process references, queries |
Resource ID (version-specific) | resourceId , rid | UUID | API responses only | Version-specific API ops |
Process Instance UUID | processInstanceUuid | UUID | Runtime β Process Instances β Process Status | Kafka headers, API calls |
Process Instance ID | processInstanceId | Number | Runtime β Process Instances β Instance Metadata | Kafka headers |
Token ID | N/A | Number | Process Status β Tokens section | Advanced debugging |
fxContext | N/A | String | Automatically set by Engine (preserve in responses) | Kafka headers |
- buildId vs appVersionId:
buildId
is globally unique and identifies a specific committed buildappVersionId
is only unique when combined withworkspaceId
- The Kafka header
Fx-Build-App-Version-Id
containsappVersionId
, NOTbuildId
- resourceDefinitionId vs resourceId:
resourceDefinitionId
(also known asprocessDefinitionFlowxUuid
): Stays constant across ALL app versionsresourceId
: Changes with each app version when the process is modified
Common integration scenarios
Starting a process via HTTP API
Required identifiers:- appId: Application ID (from project)
- buildId: Build ID (obtained via API:
GET /appmanager/api/app/{appId}/builds
) - processDefinitionName: Process name (from Definitions β Processes)
- JWT token: From authentication
buildId
is not directly visible in the FlowX Designer UI. Use the API endpoint mentioned above to retrieve it, or work with your Customer Success team to identify the correct build ID for your environment.Starting a process via Kafka
Required Kafka headers:- Fx-AppId: Application ID
- Fx-ProcessName: Process definition name
- Fx-WorkspaceId: Workspace ID (for multi-tenant setups)
- jwt: JWT token
Responding to Kafka messages from FlowX
Required Kafka headers to preserve:- fxContext: Process context (received from FlowX)
- Fx-AppId: Application ID
- Fx-RootAppId: Root application ID
- Fx-Build-App-Version-Id: Application version ID (contains
appVersionId
, used withFx-WorkspaceId
for unique identification) - Fx-WorkspaceId: Workspace ID
- processInstanceId: Process instance numeric ID
- processInstanceUuid: Process instance UUID
Fx-BuildId
header in some messages. FlowX reads both Fx-Build-App-Version-Id
(preferred) and Fx-BuildId
(legacy) for backward compatibility. Always preserve both headers if present.Troubleshooting
I can't find the workspace ID
I can't find the workspace ID
My API calls return 404 for build ID
My API calls return 404 for build ID
- For
/build/{buildId}/...
endpoints: You need the actualbuildId
which can be obtained via the API: - For
/app-version/{appVersionId}/...
endpoints: Use theappVersionId
(also referred to in the header asFx-Build-App-Version-Id
) - Go to Runtime β Builds and verify the build status is βCOMMITTEDβ
- Check if thereβs an Active Policy - this is usually the build you want to reference
- Note that the build UUID is not currently displayed in the UI - use the API endpoint above to retrieve it
Process won't start via Kafka
Process won't start via Kafka
- Missing or incorrect headers: Verify
Fx-AppId
,Fx-ProcessName
, andjwt
headers - No active policy: Check that the build is set as Active Policy in Runtime β Active Policy
- Authentication failure: Ensure the JWT token is valid and not expired
- Process name mismatch: Process names are case-sensitive - copy exact name from process list
- Payload too large: Ensure your Kafka message payload is under 1MB
Messages not routing to subprocess
Messages not routing to subprocess
fxContext
header:- For subprocesses,
fxContext
must follow the hierarchical format - Example:
"main:4:12"
for a subprocess with nodeId=12 inside subprocess nodeId=4 - Always preserve the exact
fxContext
received from FlowX Engine - Missing or incorrect
fxContext
causes messages to be delivered to the wrong process level
Can't find process instance UUID
Can't find process instance UUID
- Navigate to Runtime β Active Process β Process instances
- Find your process instance by:
- Process definition name
- Start date/time
- Current status
- Click to open process instance
- Click Process Status icon
- The UUID is shown at the top as βActive process instanceβ
- Youβre in the correct workspace
- You have the correct project selected
- The process might be in βFinishedβ status (use filters)