Skip to main content

Apporetum API Environment Variables Configuration Guide

This document outlines the environment variables that can be configured for the Apporetum API service running on Azure App Service. These settings control various aspects of the Apporetum platform including authentication, database connections, mail services, timings and integrations.

Accessing Environment Variables in Azure App Service​

  1. Open Azure Portal: Go to portal.azure.com
  2. Find Your App Service: Navigate to your Apporetum API App Service resource
  3. Access Configuration: In the left menu, click on Settings β†’ Configuration
  4. View Variables: Click on the Application settings tab to see all environment variables

Setting a New Environment Variable​

  1. In the Application settings tab, click + New application setting
  2. Enter the Name (use the exact setting name from the table below)
  3. Enter the Value according to your environment requirements
  4. Click OK to save the setting
  5. Click Save at the top of the Configuration page
  6. Restart the App Service for changes to take effect

Updating an Existing Environment Variable​

  1. In the Application settings list, find the setting you want to modify
  2. Click on the setting name or the Edit button (pencil icon)
  3. Update the Value field
  4. Click OK to confirm changes
  5. Click Save at the top of the Configuration page
  6. Restart the App Service for changes to take effect

Environment Variables Used For Organisation Specific Configuration​

GroupingSettingTypeDefault ValueDescription
ApplicationInsightsAPPINSIGHTS_INSTRUMENTATIONKEYGUID--Unique identifier that connects the app to a specific Application Insights resource
ApplicationInsightsAPPLICATIONINSIGHTS_CONNECTION_STRINGString--Connection string containing endpoint and instrumentation key for Application Insights (preferred over instrumentation key alone)
ApplicationInsightsApplicationInsightsAgent_EXTENSION_VERSIONInteger~2Version of the Application Insights agent extension (~2 means latest 2.x version)
ApplicationInsightsConnectionStringString--Application Insights connection string
ApplicationInsightsLogLevelStringInformationDefault logging level for Application Insights
AzureApiUrlURLhttps://apporetum-xxxx-api-xxxxxxx.azurewebsites.net/Base URL for the Apporetum API service
AzureApplicationIdGUIDGUIDEntra ID application ID
AzureAppServiceNameStringapporetum-xxxx-api-xxxxxxxName of the Azure App Service resource name
AzureAspResourceNameStringapporetum-xxxx-asp-xxxxxxxThe App Service Plan resource name
AzureClientIdGUIDGUIDEntra ID application client ID
AzureClientUrlURLhttps://default-client-asp.apporetum.com/Base URL for the Apporetum client application
AzureEnterpriseObjectIdGUIDGUIDObject ID for the enterprise application
AzureInstanceURLhttps://login.microsoftonline.com/Entra ID authentication endpoint
AzureKeyVaultBaseUriURLhttps://apporetumyyyykvxxxxxxx.vault.azure.net/Base URI for Azure Key Vault
AzureKeyVaultConnectionStringStringRunAs=App;AppId=GUIDConnection string for Key Vault (alternative to URI)
AzureManagedIdentityIdGUIDGUIDResource ID for the managed identity
AzureManagedIdentityNameStringdefault/id/to/managed/identityPath to the managed identity resource
AzureRegistrationObjectIdGUIDGUIDObject ID for the app registration
AzureResourceGroupStringapporetum-client-rgAzure resource group name where Apporetum is installed
AzureSpaResourceNameStringapporetum-xxxx-spa-xxxxxxxName of the Azure App Service resource name
AzureSQlGeneralResourceNameStringapporetum-xxxx-sql-svr-xxxxxxxName of the SQL Server resource
AzureSubscriptionIdGUIDGUIDAzure subscription identifier
AzureTenantIdGUIDGUIDEntra ID tenant identifier
AzureVNetTypeStringnoneVirtual network configuration type
DatabaseConnectionStringString--Primary database connection string
EventGridDomainUrlURL--Azure Event Grid domain URL
EventGridUseEventGridSchemaBooleanfalseWhether to use Event Grid schema format. If set to false it will use cloud events schema.
EventGridPublishEvents:IdentityBoolean--Allows identity events to be published to EventGrid
EventGridPublishEvents:AccessBoolean--Allows EventGrid events to be published
GeneralAPMGroupPrefixStringAPPORETUM_Prefix used for Apporetum-managed groups in Entra ID
GeneralAllowExcludedAccountManagementBooleanfalseWhether to allow management of excluded user accounts
GeneralAutoAddManagersBooleantrueWhether to automatically add users who are linked as managers to the managers role to allow them to log into Apporetum
GeneralCustomTitleStringApporetum Access ManagerCustom title displayed in the application interface
GeneralEnableProvisioningServiceBooleanfalseEnables integration to the Azure provisioning service
GeneralManagerGroupIdGUIDnullOptional GUID for the manager group if not using the system assigned group
GeneralOrganisationNameStringApporetumName of the organization using the platform
MailCallbackBaseUrlURL--Base URL for email callbacks
MailProxyEmailUserString--Proxy email user if using email proxy
MailReplyToAddrString--Reply-to email address
MailReplyToNameString--Reply-to display name
OrganisationSignUpFlowConfigCleanUserPrincipalNameOnSignUpBooleantrueSets the upn to a human readable string with the signup email rather than a GUID
OrganisationSignUpFlowConfigFlowKeysDictionary<GUID, String>--Key Secret pairs for the Entra External ID Sign Up Sign In flow
OrganisationSignUpFlowConfigErrorMessagesStringVariousCustom error messages for sign-up flow failures
ProvisioningJobId--API2AAD.TenantId.GUIDResource linkage to the Entra ID provisioning API
ProvisioningServicePrincipalIdGUID--GUID of the service principal of the provisioning service
SchedulerConnectionStringString--Scheduler database connection string
StorageAccountNameString--Azure Storage account name
StorageAccountKeyStringBlobStorageKeyName of the storage account secret in the Key Vault
TimingsAccessAcceptanceDelayInteger4Delay in hours for access acceptance processing
TimingsApprovalPeriodInteger21Number of days for approval workflows
TimingsDeleteAccountAfterXDaysInteger3Days to wait before deleting expired accounts
TimingsDigestibleEmailGroupedSendDelayInteger5Delay in minutes for grouped email sending
TimingsExpiryGracePeriodInteger7Grace period in days before access expires
TimingsInviteValidityPeriodInteger14Number of days an invitation remains valid
TimingsRemoveReconBlobsAfterXDaysInteger91Days to retain reconciliation blob data
TimingsTestEmailCoolDownFloat0.5Cooldown period in minutes for test emails
TimingsTimeZoneIdStringAUS Eastern Standard TimeTime zone for the application operations

Environment Variables Used For Infrastructure Specific Configurations​

GroupingSettingTypeDefault ValueDescription
AzureCallbackPathString/signin-oidcOAuth callback path for authentication
AzureClientSecretStringClientSecretEntra ID application client secret
AzureDomainURLdefault-client-domain.apporetum.comCustom domain for the application
DatabaseSecretStringDbSecretKey Vault secret name for database connection
DatabaseUseInMemoryDatabaseBooleanfalseWhether to use in-memory database for testing
EventGridSecretNameString--Key Vault secret name for Event Grid access key if not using managed identities
GeneralAllowedHostsIP Adresses or URL*Specifies which hosts are allowed to access the application
GeneralBaseExternalIntegrationRoleIdGUID8d163ed1-e497-4d1c-99a6-40b040d84655GUID for the base external integration role
GeneralBaseUserRoleIdGUIDe2d18f97-8edf-4537-b652-99ec23db0e24GUID for the base user role in the system
GeneralGlobalAdminRoleIdGUID1eac9493-d0ac-43a1-902a-7dffefb8b682GUID for the global administrator role
GeneralManagerGroupIdGUIDnullOptional GUID for the manager group
GeneralPreventSeedGroupsBooleanfalseWhether to prevent automatic creation of seed groups
IdentityStateEngineConnectionStringStringISEDbSecretKey Vault secret name for ISE database
IdentityStateEnginePreventBackgroundProcessingBooleanfalseWhether to disable ISE background processing
IdentityStateEngineUseInMemoryDatabaseBooleanfalseWhether ISE uses in-memory database
LicenceCertificateLicenceCertificateStringKey Vault secret name for license certificate
LicenceTokenStringLicenceTokenKey Vault secret name for license token
LicenceUrlURLhttps://license.apporetum.comPrimary license validation URL
LicenceUrl2URLhttps://license2.apporetum.comSecondary license validation URL
MailSecretStringMailSecretKey Vault secret name for mail configuration
MailSendFromAddrString--Email address for outgoing emails
MailSendFromNameString--Display name for outgoing emails
MailServerNameString--SMTP server hostname
MailServerPortInteger22SMTP server port number
MailServerUsernameString--SMTP server authentication username
ProxyPasswordString--Proxy authentication password
ProxyPortInteger--Proxy server port if proxy is enabled
ProxyUrlURL--Proxy server URL if proxy is enabled
ProxyUseGraphAuthProxyBooleanfalseWhether to use proxy for Graph authentication
ProxyUseGraphProxyBooleanfalseWhether to use proxy for Microsoft Graph calls
ProxyUseIdentityProxyBooleanfalseWhether to use proxy for identity operations
ProxyUseLicenseProxyBooleanfalseWhether to use proxy for license validation
ProxyUsernameString--Proxy authentication username
SchedulerCompletedJobExpiryTime5.00:00:00Time to retain completed job records (5 days)
SchedulerExpirationCheckIntervalTime0.00:05:00Interval for checking job expiration (5 minutes)
SchedulerFailedJobExpiryTime30.00:00:00Time to retain failed job records (30 days)
SchedulerPreventBackgroundProcessingBooleanfalseWhether to disable background job processing
SchedulerSecretStringSchedulerDbSecretKey Vault secret name for scheduler database
SchedulerUseInMemoryDatabaseBooleanfalseWhether scheduler uses in-memory database
StorageAuditContainerStringauditsContainer name for audit logs
StorageBulkInviteContainerStringbulkinvitesContainer name for bulk invitation files
StorageImageContainerStringimagesContainer name for image assets
StoragePreventPublicContainersBooleanfalseWhether to prevent public container access
TimingsTimeZoneIdStringAUS Eastern Standard TimeTime zone for the application operations

Important Notes​

  • Restart Required: After making any configuration changes, restart the App Service for changes to take effect
  • Key Vault Integration: Many settings reference Azure Key Vault secrets for secure storage of sensitive values
  • Default Values: The values shown are examples - replace with your environment-specific values
  • GUIDs: Replace all GUID placeholders (00000000-0000-0000-0000-000000000000) with actual Azure resource IDs
  • URLs: Update all URLs to match your specific domain and Azure resource names