---
title: The <code>identityServer</code> variable
description: IDM provides an additional variable, named identityServer, to scripts. You can use this variable in several ways. The ScriptRegistryService, described in Validate scripts over REST, binds this variable to:
component: pingidm
version: 8.1
page_id: pingidm:scripting-guide:script-variables-identity-server
canonical_url: https://docs.pingidentity.com/pingidm/8.1/scripting-guide/script-variables-identity-server.html
keywords: ["Scripting", "Variables", "REST", "Endpoints", "Identities", "Configuration", "Files"]
---

# The `identityServer` variable

IDM provides an additional variable, named `identityServer`, to scripts. You can use this variable in several ways. The `ScriptRegistryService`, described in [Validate scripts over REST](script-endpoint.html), binds this variable to:

* `getProperty`

  Retrieves property information from system configuration files. Takes up to three parameters:

  * The name of the property you are requesting.

  * *(Optional)* The default result to return if the property wasn't set.

  * *(Optional)* Boolean to determine whether or not to use property substitution when getting the property.

    For more information about property substitution, refer to [Property value substitution](../setup-guide/using-property-substitution.html).

    Returns the first property found following the same order of precedence IDM uses to check for properties: environment variables, `system.properties`, `boot.properties`, and then other configuration files.

    For more information, refer to [Server configuration](../setup-guide/chap-configuration.html).

    For example, you can retrieve the value of the `openidm.config.crypto.alias` property with the following code: `alias = identityServer.getProperty("openidm.config.crypto.alias", "true", true);`

* `getInstallLocation`

  Retrieves the IDM installation path, such as `/path/to/openidm`. May be superseded by an absolute path.

* `getProjectLocation`

  Retrieves the directory used when you started IDM. That directory includes configuration and script files for your project.

  For more information on the project location, refer to [Startup configuration](../install-guide/startup-configuration.html).

* `getWorkingLocation`

  Retrieves the directory associated with database cache and audit logs. You can find `db/` and `audit/` subdirectories there.

  For more information on the working location, refer to [Startup configuration](../install-guide/startup-configuration.html).
