Waiting for engine...
Skip to main content

Safely auditing and decommissioning Global Variables at scale

Global Variables centralize configuration values that many components reference through $V{variableName} syntax, with per-environment overrides layered on top. As integrations evolve and variables accumulate, there is no safe, scalable way to know which variables are still referenced anywhere before decommissioning one. The GlobalVariable API does not support DELETE; it only supports moving a variable to status: archived, and archived variables can no longer receive value updates. Archiving a variable that is still wired into a live component silently breaks that component's config path next time someone tries to update it.

This use case shows how to programmatically audit variable usage across all components before archiving, rather than manually checking each variable in the UI.

Why does bulk-checking Global Variable usage matter?

An administrator managing dozens of environments and hundreds of components needs to clean up unused Global Variables, for example, after decommissioning an integration. There is no bulk way to answer: "Is this variable referenced by any component, and does it have per-environment overrides still in use anywhere?" Guessing wrong means either leaving unused variables indefinitely or breaking a live process.

Prerequisites

Before using the Global Variable APIs, make sure you have:

  • API authentication credentials and accountId
  • GLOBAL_VARIABLES feature is enabled on the account
  • GLOBAL_VARIABLE_CREATE privilege (write) or BUILD/BUILD_READ_ACCESS (read)
  • Familiarity with GlobalVariable, GlobalVariableValue, Component, and GlobalVariableUpdateTransaction APIs

To enable the GLOBAL_VARIABLES feature, contact your Boomi Account representative.

To learn more about Boomi API authentication, refer to the Getting started with Boomi Platform APIs topic.

Workflow

  1. Query GlobalVariable with status=active to get an inventory of all active variables.

  2. For each variable name, check its usage:

    • Query Component, filtering on GlobalVariableReferences, to find components still referencing it.
    • Query GlobalVariableValue by variable name across environments to find per-environment overrides still set.
  3. Classify the variable: zero component references and zero per-environment overrides mean it is safe to archive.

  4. Update GlobalVariable to set status: archived, decommissioning the variable.

  5. Get GlobalVariable to confirm the status change took effect.

  6. Query GlobalVariableUpdateTransaction for an audit trail of the change.

    Global Variables Workflow

Implementation

Step 1: Inventory active variables

Send POST /GlobalVariable/query

{ "QueryFilter": { "expression": { "operator": "EQUALS", "property": "status", "argument": ["active"] } } }

Returns all active GlobalVariable records (name, encrypted, initialValue, description). Paginate with queryToken if over 100 results.

Refer to the GlobalVariable API for the complete request and response schema.

Step 2: Check component references for each variable

For each variable name from Step 1, query components whose GlobalVariableReferences array contains it:

"GlobalVariableReferences": {
"GlobalVariableReference": [{ "name": "ACCESS_TOKEN_URL" }]
}

This field is read-only and reflects live usage: a non-empty match means that the variable is still referenced in that component's configuration, regardless of whether the component is currently deployed.

Refer to the Component API for the complete request and response schema.

Step 3: Check per-environment overrides

Query GlobalVariableValue for the variable name across environments. A variable with no active component references but a remaining per-environment override is still worth flagging. It suggests someone configured the override for something that no longer exists, useful context for the decision, not only a blocker.

Refer to the GlobalVariableValue API for the complete request and response schema.

Step 4: Archive the confirmed-unused variable

Send POST /GlobalVariable/{name}/update

{ "status": "archived" }

Once archived, the platform stops accepting further value assignments for that variable. This restriction is platform-enforced, not only a UI convention.

Refer to the GlobalVariable API for the complete request and response schema.

Step 5: Verify and audit

Send GET /GlobalVariable/{name} to confirm status: archived. Query GlobalVariableUpdateTransaction for that name to get the change record (who made the change and when) for compliance logging.

Refer to the GlobalVariable and GlobalVariableUpdateTransaction APIs for the complete request and response schemas.

Rollback

If you archive a variable by mistake, you can reactivate it using UPDATE. However, per the July 2026 Boomi Platform release update, you cannot modify any other field while a variable is archived. Reactivate it first, then make additional edits.

On this Page