GlobalVariable object
The GlobalVariable API allows creation, retrieval, update, and querying of Global Variable definitions within a Boomi account. Global Variables are named, account-scoped variables that can hold different values per environment, and support optional encryption for sensitive data.
You assign different values per environment using the GlobalVariableValue API. Each Global Variable has an optional initial value, an optional description, and a lifecycle status (active or archived). You can encrypt variables to protect sensitive values.
The name field serves as the object ID. When a variable is created, an initial UpdateTransaction record is automatically created to start the audit trail.
Account requirement: The GLOBAL_VARIABLES feature must be enabled on the account for this API to work. If it is not, all operations return 403 Forbidden with the message "Global Variable is inactive". To enable the feature, contact your Boomi Account representative.
Required Privileges
You need these privileges in the target environment:
Write access
- GLOBAL_VARIABLE_CREATE — Create and edit Global Variables.
Read access (any one of the following)
- BUILD — Design, build, and modify processes and components.
- BUILD_READ_ACCESS — View processes and components.
- BRANCH_COMPONENT_READ_WRITE — Read access to processes and components on all branches; write access on all branches except main.
- Available on all runtime types.
- DELETE operation is not supported. To decommission a variable, set its status to archived.
- Archived variables retain their history and values but cannot receive new value assignments.
- An account-level limit on the number of active Global Variables is enforced on CREATE and on re-activation from archived status.
For more information, refer to the related APIs:
- GlobalVariableValue — Manages per-environment values for a Global Variable, keyed by
{envId}:{variableName}. - GlobalVariableUpdateTransaction — Audit trail of value assignment events.
Endpoint
All objects and operations share a single SOAP endpoint per account. POST:
- US:
https://api.boomi.com/api/soap/v1/<accountId> - GB:
https://api.platform.gb.boomi.com/api/soap/v1/<accountId>
Where accountId is the ID of the authenticating account for the request.
Structure
<GlobalVariable>
<name/>
<encrypted/>
<initialValue/>
<description/>
<status/>
<createdBy/>
<createdDate/>
<modifiedBy/>
<modifiedDate/>
</GlobalVariable>
| Field | Type | Description |
|---|---|---|
| name | string | Unique name for the Global Variable within the account. |
| encrypted | boolean | Whether the variable's assigned values are stored encrypted. Once set to true, cannot be changed back to false. |
| initialValue | string | Optional default value automatically assigned to environments that have not yet been explicitly assigned a value. |
| description | string | Optional human-readable description of the variable's purpose. |
| status | enum | Lifecycle state of the variable. Archived variables cannot be assigned new values. Re-activating from archived to active triggers a limit check. active or archived. |
| createdBy | string | Username or email of the user who created the variable. This value is set automatically by the platform and cannot be edited. |
| createdDate | dateTime | ISO 8601 timestamp of when the variable was created. This value is set automatically by the platform and cannot be edited. |
| modifiedBy | string | Username or email of the user who last modified the variable. This value is set automatically by the platform and cannot be edited. |
| modifiedDate | dateTime | ISO 8601 timestamp of the last modification. This value is set automatically by the platform and cannot be edited. |
Supported operations
| GET | QUERY | queryMore | getBulk | CREATE | UPDATE | EXECUTE | DELETE |
|---|---|---|---|---|---|---|---|
| Supported | Supported | Supported | Supported | Supported | Supported | Not supported | Not supported |
DELETE is not supported; use UPDATE (status="archived") to archive records instead.
Using the GET operation
- The GET operation retrieves the Global Variable with the specified name. The name serves as the object ID.
Using the CREATE operation
- The CREATE operation creates a new Global Variable. The name field is required and must be unique within the account.
Using the UPDATE operation
- The UPDATE operation updates an existing Global Variable identified by name. Use UPDATE with
status="archived"to retire a variable, since DELETE is not supported.
Using the QUERY operation
-
The operators allowed for the Global Variable object filters are:
-
BETWEEN
-
CONTAINS
-
EQUALS
-
GREATER_THAN
-
GREATER_THAN_OR_EQUAL
-
IS_NOT_NULL
-
IS_NULL
-
LESS_THAN
-
LESS_THAN_OR_EQUAL
-
LIKE
-
NOT_CONTAINS
-
NOT_EQUALS
If the QUERY includes multiple filters, you can connect the filters with a logical AND or a logical OR operator.
For more information about the structure of QUERY filters, refer to Query filters topic.
-
Using the queryMore operation
- Use the queryMore operation to retrieve subsequent pages of results from a previous QUERY call. Pass the
queryTokenreturned in the prior QUERY (or queryMore) response. For more information, refer to the Query paging topic.
Using the getBulk operation
- The getBulk operation retrieves multiple Global Variables by name in a single request. Each requested name is returned as a separate result with its own
statusCode, so a name that doesn't exist doesn't fail the whole request.
SOAP implementation
-
GET operation
The following example retrieves the Global Variable named MY_VARIABLE.
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:get>
<api:objectType>GlobalVariable</api:objectType>
<api:objectId>MY_VARIABLE</api:objectId>
</api:get>
</soapenv:Body>
</soapenv:Envelope>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:getResponse xmlns:bns="http://api.platform.boomi.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bns:result xsi:type="bns:GlobalVariable" name="MY_VARIABLE" encrypted="false"
initialValue="This is test value" description="This is test description" status="active"/>
</bns:getResponse>
</S:Body>
</S:Envelope> -
CREATE operation
The following example creates a Global Variable named
MY_VARIABLE.Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:create>
<object xsi:type="api:GlobalVariable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="MY_VARIABLE"
encrypted="false"
initialValue="defaultValue"
description="A sample global variable">
</object>
</api:create>
</soapenv:Body>
</soapenv:Envelope>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:createResponse xmlns:bns="http://api.platform.boomi.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<result xsi:type="bns:GlobalVariable" name="MY_VARIABLE" encrypted="false"
initialValue="defaultValue" description="A sample global variable" status="active"/>
</bns:createResponse>
</S:Body>
</S:Envelope> -
UPDATE operation
The following example updates
MY_VARIABLE, setting its status to archived.Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:update>
<object xsi:type="api:GlobalVariable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="MY_VARIABLE"
description="Updated description"
status="archived">
</object>
</api:update>
</soapenv:Body>
</soapenv:Envelope>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:updateResponse xmlns:bns="http://api.platform.boomi.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<result xsi:type="bns:GlobalVariable" name="MY_VARIABLE" description="Updated description" status="archived"/>
</bns:updateResponse>
</S:Body>
</S:Envelope> -
QUERY operation
The following example queries for the Global Variable named
MY_VARIABLE.Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:query>
<api:objectType>globalVariable</api:objectType>
<api:queryConfig>
<api:QueryFilter>
<api:expression operator="and" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="api:GroupingExpression">
<api:nestedExpression operator="EQUALS" property="name"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="api:SimpleExpression">
<api:argument>MY_VARIABLE</api:argument>
</api:nestedExpression>
</api:expression>
</api:QueryFilter>
</api:queryConfig>
</api:query>
</soapenv:Body>
</soapenv:Envelope>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:queryResponse xmlns:bns="http://api.platform.boomi.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bns:results numberOfResults="1">
<bns:result xsi:type="bns:GlobalVariable" name="MY_VARIABLE" encrypted="false"/>
</bns:results>
</bns:queryResponse>
</S:Body>
</S:Envelope> -
queryMore operation
The following example retrieves the next page of results using a
queryTokenreturned by a previous QUERY call.Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:queryMore>
<api:queryToken>a1b2c3d4-query-token-example</api:queryToken>
</api:queryMore>
</soapenv:Body>
</soapenv:Envelope>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:queryMoreResponse xmlns:bns="http://api.platform.boomi.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bns:results numberOfResults="1">
<bns:result xsi:type="bns:GlobalVariable" name="ANOTHER_VARIABLE" encrypted="false"/>
</bns:results>
</bns:queryMoreResponse>
</S:Body>
</S:Envelope> -
getBulk operation
The following example retrieves
MY_VARIABLEandOTHER_VARIABLEin a single request.Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:getBulk xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<api:objectType>GlobalVariable</api:objectType>
<api:bulkObject type="GET">
<api:request xsi:type="api:BulkId" id="MY_VARIABLE"/>
<api:request xsi:type="api:BulkId" id="OTHER_VARIABLE"/>
</api:bulkObject>
</api:getBulk>
</soapenv:Body>
</soapenv:Envelope>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:getBulkResponse xmlns:bns="http://api.platform.boomi.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bns:results>
<bns:response index="0" id="MY_VARIABLE" statusCode="200">
<bns:Result xsi:type="bns:GlobalVariable" name="MY_VARIABLE" encrypted="false" initialValue="defaultValue" description="A sample global variable" status="active"/>
</bns:response>
<bns:response index="1" id="OTHER_VARIABLE" statusCode="200">
<bns:Result xsi:type="bns:GlobalVariable" name="OTHER_VARIABLE" encrypted="false" status="active"/>
</bns:response>
</bns:results>
</bns:getBulkResponse>
</S:Body>
</S:Envelope>