--- title: "Getters" slug: "getters" updated: 2026-10-05T20:41:53Z published: 2026-10-05T20:41:53Z canonical: "docs.unqork.io/getters" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Getters Getters are read-only properties built into every module's submission data object. They expose platform-level information: environment details, user session data, URL parameters, and validation state. No component write or storage is required. You can reference getters anywhere a Property ID is accepted: component inputs and outputs, Data Workflow nodes, Calculator formulas, and Plug-In component mappings. Use to access a nested property (`getEnv.CUSTOMER`, `currentUser.email`). ## Available Getters | Getter | Description | | --- | --- | | `currentUser` | Profile of the end-user currently viewing the module. See [currentUser Properties](/unqorkai/docs/getters#currentuser-properties) below. | | `getBrowser` | Browser connectivity status. Returns `{: true }` or `{: false }`. Used with Offline Mode to make connectivity-based decisions. | | `getEnv` | Environment configuration for the current application. See [getEnv Properties](/unqorkai/docs/getters#getenv-properties) below. | | `getMetadata` | Module metadata. Stores key/value pairs that are not part of the submission data object and are not persisted to the database. | | `getModuleFields` | Component definitions for the current module. Returns the same data as the module JSON definition. Legacy alias; equivalent to `@getModuleInSlot('main')` in the current platform. | | `getSubmissionFields` | Submission-level identifiers. See [getSubmissionFields Properties](/unqorkai/docs/getters#getsubmissionfields-properties) below. | | `integratorErrors` | Integration error details returned from API calls. Specific to Plug-In components and API-connected workflows. | | `validationErrors` | Validation error details for all components that failed validation. Not API-specific. | | `vars` | Global variables defined in **Administration** > **Global Variables**. | | `_getData` | All current submission data. Accessing individual component values with `_getData.key` is deprecated; reference the Property ID directly instead. | | `_query` | URL query parameters passed to the module. Standard Property ID references cannot read URL parameters; `_query` can. | > [!CAUTION] > Referencing `getModuleFields` without a specific property causes significant performance slowdown that worsens as the module grows. When the reference is unqualified, the watcher fires on every module change: component visibility changes, value updates, and all other runtime events. Always reference the specific property needed: use `getModuleFields._id` instead of `getModuleFields` alone. ## currentUser Properties The `currentUser` getter contains the profile of the end-user viewing the module. Reference individual properties with dot notation: `currentUser.email`. | Property | Type | Description | | --- | --- | --- | | `userId` | String | The end-user's unique ID in the platform. | | `email` | String | The end-user's email address. | | `name` | String | The end-user's display name. | | `role` | String | The end-user's primary role (`Administrator` or `Anonymous`). | | `expressRoles` | Array | All Express Roles assigned to the end-user. | | `groups` | Array | Groups the end-user belongs to. | | `applicationRoles` | Object | Application-specific roles, keyed by application ID. | | `isAdmin` | Boolean | Whether the end-user has Administrator access. | | `isServiceUser` | Boolean | Whether the account is a service account rather than a human end-user. | | `isUserLocked` | Boolean | Whether the account is currently locked. | | `locale` | String | The end-user's locale setting (for example, `en-US`). | | `created` | String | ISO 8601 timestamp of when the account was created. | | `modified` | String | ISO 8601 timestamp of when the account was last modified. | | `lastLogin` | String | ISO 8601 timestamp of the end-user's most recent login. | | `ip` | String | IP address of the end-user's current session. | ## getEnv Properties The `getEnv` getter contains environment configuration set at the platform level. Reference individual properties with dot notation: `getEnv.CUSTOMER`. | Property | Description | | --- | --- | | `CUSTOMER` | The customer name for this environment (for example, `acme`). | | `ENVIRONMENT_GROUP` | The environment tier: `development`, `staging`, or `production`. | | `NODE_ENV` | The Node.js runtime environment. Typically `production` for all hosted environments. | | `REMOTE_ROOT` | The base URL of the environment (for example, `https://app.acme.unqork.io`). | > [!NOTE] > The environment may include additional properties beyond those listed here depending on platform configuration. The four properties above are consistently available across all environments. **Example**: To conditionally show a component in production, set a Decision component's condition to `getEnv.ENVIRONMENT_GROUP === "production"`. ## getSubmissionFields Properties The `getSubmissionFields` getter contains identifiers written by the platform when a submission is created or saved. | Property | Description | | --- | --- | | `id` | Unique identifier for this submission record. | | `moduleId` | The ID of the module this submission belongs to. | | `userId` | The ID of the end-user who created or last modified the submission. | | `created` | ISO 8601 timestamp of when the submission was first created. | | `modified` | ISO 8601 timestamp of when the submission was last saved. | ## How to Reference a Getter Reference any getter directly by its name as a Property ID, or use dot notation to access a nested property: | Reference | Returns | | --- | --- | | `getEnv` | The full `getEnv` object | | `getEnv.CUSTOMER` | The customer name string | | `currentUser.email` | The current end-user's email address | | `currentUser.expressRoles` | Array of roles assigned to the end-user | | `getSubmissionFields.userId` | The current end-user's ID | | `_query.redirectUrl` | The `redirectUrl` URL parameter | To inspect all getter values in a running module, open the submission in Express View. Right-click the page, select **Inspect**, and open the DevTools Console. The submission data object lists every getter and its current value. **Changelog** | Date | Change | | --- | --- | | 2026-10-05 | Initial publication — full getter reference sourced from platform runtime code, including currentUser property table. Added getModuleFields performance warning (EN-8187). | An object is a type of data structure that represents a single, self-contained entity that acts as a container for the characteristics of that entity. A URL (uniform resource locator) is a unique identifier used to locate a resource on the internet. Also known as a web address. A Property ID is the unique field ID used by Unqork to track and link components in your module. A JavaScript property is a member of an object that associates a key with a value. A JavaScript object is a data structure that stores a collection of properties. End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. A key-value pair is a fundamental data structure where a unique "key" is associated with a specific "value," used for organizing and retrieving data efficiently, like in dictionaries or databases. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data. APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. A definition A query lets you retrieve, access, manipulate, and delete data in a database. End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. The Unqork front-end application framework that delivers Creator-built applications to end-users. Express is the layer end-users interact with—the published forms, screens, and navigation built in the Module Builder. Express is distinct from Express View, which is a Creator-facing preview tool in the IDE. In Unqork an application is a program used to perform specific tasks. An application can be one of two types: workflow or module. The Boolean data type accepts one of two values: true, or, false. A standard format for representing dates and times. ISO 8601 format is represented in the following order: year, month, day, hour, minutes, seconds, and milliseconds. The Internet Protocol (IP) address is a unique identifier for a device or network connected to the internet. A string is an object that represents a sequence of characters. Strings typically hold data represented in text form. Express View is how your end-user views your application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View. The DevTools Console helps you securely store, build, test, and deploy your software.