New Upload weather data from web services into TM1/Planning Analytics — Read the post →

Arc settings.yml File Reference

The Arc settings file is named settings.yml and is located in the folder where Arc is installed. It controls all Arc server behaviour including TM1 connections, security, Pulse integration, AI assistant, messaging, Atmosphere, and more.

Tip: Lines beginning with # are comments. Uncomment a parameter by removing the leading # and restarting Arc for changes to take effect.

See also: for per-user browser settings (as opposed to this server-side file), see the Arc User Preferences (uiPrefs) Reference: Settings, Exporting, and Importing Preferences. For a short, curated list of the settings from both files that matter most for production stability and performance, see the Arc Best Practice Configuration Guide: Key Settings for Stability and Performance.

Arc Server

Core settings that control the Arc web server itself.

Parameter

Default

Description

portno

7070

The port number Arc listens on, e.g. http://localhost:7070

sessiontimeout

20

Number of minutes before an idle session times out.

licenseExpiryWarningDays

7

Number of days before license expiry to show a warning. Set to 0 to disable.

loggerlevel

INFO

Level of logging for the Arc console and log file. Options: CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.

detailedarccontextinfo

true

Enable detailed info in the context column in Arc Sessions, Pulse, or TM1Top.

commandpath

.\exec

Path to the Python plugin directory.

TM1 Admin Hosts

A list of TM1 Admin Hosts that Arc will connect to in order to discover available TM1 instances. If a server-groups.yml file is present, the adminhosts section in settings.yml is ignored.

The default TM1 Admin Host REST API runs on port 5898 (HTTPS). You can test access by navigating to https://localhost:5898/api/v1/Servers in your browser.

Parameter

Required

Description

url

Yes

URL of the TM1 Admin Host, e.g. https://localhost:5898

name

No

A friendly name for the admin host. If omitted, the full URL is used.

pulseenvironment

No*

Name of the Pulse environment linked to this admin host. Required if pulseurl is set. Found in Pulse under Administration > Environments.

pulsetracking

No

Enable Pulse object/user tracking for all instances found on this admin host.

camnamespace

No

Admin host-specific CAM namespace. Use when different admin hosts have different CAM namespaces.

Example:

TM1 Instance Connections

Direct REST API connections to TM1 instances, bypassing the admin host. Useful for cloud environments or when only the REST API port is accessible. If a server-groups.yml file is present, the connections section is ignored.

Test connectivity by appending /api/v1/$metadata to the base URL, e.g. https://remoteserver.com:8882/api/v1/$metadata. The /api/v1 prefix is appended automatically unless isfullpath: true is set.

Parameter

Required

Description

url

Yes

Base URL of the TM1 REST API.

name

No

A friendly name for the connection. If omitted, the instance name is used.

isfullpath

No

Set to true if the URL already contains the full API path (e.g. when using a proxy).

pulseenvironment

No*

Name of the Pulse environment linked to this connection. Required if pulseurl is set.

pulseinstance

No*

TM1 instance name as it appears in Pulse. Required if the connection name differs from the instance name.

pulsetracking

No

Enable Pulse object/user tracking for this instance.

camnamespace

No

Connection-specific CAM namespace.

openidconfiguration

No

Discovery URL of the OIDC provider for this connection.

openidclientid

No

Client ID provided by your OIDC provider.

openidsecretid

No

Client secret provided by your OIDC provider.

openiduseidtokenforbearer

No

Use the ID Token instead of the Access Token for the Bearer header. Required for IBM's OpenID implementation (PA v12).

openidstrictmode

No

Force the OpenID flow even when 401 response headers do not contain enough information to auto-detect it.

authstrictmode

No

Force a specific auth mode: 1 = Basic (default), 8 = IBM API Key.

Example:

Additional Connection Settings

Parameter

Default

Description

instancestohide

—

List of TM1 instance names to hide from the Arc instance list. Accepts YAML list or inline array syntax.

timeoutseconds

10

Seconds to wait for Arc to connect to a TM1 Admin Host or REST API.

usecamredirect

false

Use redirect instead of iframe for CAM gateway. Recommended when using SSO or a federated setup.

useadminhostname

false

Replace the private IP address returned by the admin host with the admin host name. Useful for remote servers.

Security

Settings that control SSL/TLS, HTTP security headers, and content security policy.

Parameter

Default

Description

usessl

false

Run Arc over HTTPS instead of HTTP. A self-signed certificate is generated by default using the server name. Place custom ssl/cert.pem and ssl/key.pem files in the Arc directory to use your own certificate.

sslhostname

—

Custom hostname for SSL certificate generation. Use when a DNS name differs from the machine name.

useletsencrypt

false

Use Let's Encrypt for automated SSL certificates. Requires Arc to be publicly accessible on ports 80 and 443. sslhostname must match your DNS entry.

usesecuretls

false

Restrict to TLS v1.2+ with secure cipher suites only (ECDHE with AES-GCM or CHACHA20-POLY1305).

usehsts

false

Enable HTTP Strict Transport Security (HSTS) header. Sets max-age to 2 years including subdomains. To remove, set to false and clear the browser HSTS cache.

addpreloadonhsts

false

Add the preload directive to the HSTS header for browser HSTS preload list support.

usecontentsecuritypolicy

false

Enable Content-Security-Policy header. Restricts connections to known sources. External scripts in plugins will be blocked.

cspdenyiframeblobs

false

When CSP is enabled, omit iframe-src 'self' blob:. Safer but forces PDF downloads instead of in-browser display.

useiframedeny

false

Add X-Frame-Options: DENY header to block iframe embedding.

Naming Conventions

Customise how Arc names functions, snippets, parameters, and variables in the Rules and Process editors.

Parameter

Default

Description

rulenamingscript

—

JavaScript file in the naming directory for Rules editor naming. Built-in options: uppercase.js, lowercase.js.

processnamingscript

—

JavaScript file in the naming directory for Process editor naming.

Process Naming Prefixes

The processnaming block controls prefixes Arc uses for new parameters and variables in TI processes. Arc also uses these prefixes for auto-matching variables to dimensions in CELLGET/CELLPUT functions.

Parameter

Default

Description

variablestring

v

Prefix for string variables.

variablenumeric

v

Prefix for numeric variables.

parameterstring

p

Prefix for string parameters.

parameternumeric

p

Prefix for numeric parameters.

constantstring

c

Prefix for string constants.

constantnumeric

c

Prefix for numeric constants.

numeric

n

Prefix for generic numeric types.

string

s

Prefix for generic string types.

parameterrequiredstring

required:|\(required\)

Regex to identify required parameters from the Prompt field.

parameteroptionalstring

optional:|\(optional\)

Regex to identify optional parameters from the Prompt field.

Pulse Integration

Settings that connect Arc to a Pulse 6+ server for change tracking, instance discovery, and access control.

Parameter

Default

Description

pulseurl

—

Base URL of your Pulse 6+ server, e.g. http://localhost:8099.

pulseurloverrides

—

Map of Server Group names to alternative Pulse URLs for per-group overrides.

usepulseinstances

false

Get the list of TM1 instances from Pulse instead of from Arc settings files.

pulseloginrequired

false

Require Arc users to be logged in to Pulse before accessing TM1 instances.

pulseinstanceaccessrequired

false

Require Pulse instance-level access for a user to access an instance in Arc.

hidepulseintegration

false

Hide Pulse-related UI elements in the Arc application.

pulseintervalservice

1

Seconds between requests to the Pulse server for service status.

pulseintervalchange

3

Seconds between requests to the Pulse server for change tracking information.

processdebugsleeptime

10

Milliseconds Arc waits before polling process debug status.

Example (per-group Pulse URL overrides):

Arc UI

Settings that control the appearance and behaviour of the Arc user interface.

Parameter

Default

Description

camnamespace

—

Global CAM namespace to pre-populate the login screen with. Applies to all admin hosts and connections.

rollupoptionstohide

—

List of rollup options to hide in the Subset Editor dialog, e.g. stddev, median.

serverlabel

—

A name to display in the Arc menu bar, e.g. development or production.

serverlabelcolor

—

Hex colour for the server label, e.g. "#f5c311".

disablestartpopup

false

Set to true to disable the release notes pop-up on start.

hideauthorizeduserlabel

false

Hide the authorized user email from the top bar.

maxcellsetsize

1000000

Warn users before running a Cube Viewer query whose estimated cellset size (the product of selected element counts across all axes) exceeds this limit. Users can still choose to proceed. Set to 0 to disable the safeguard.

singlerequestapplicationupdate

false

When true, uploading a new file over an existing application document updates the content in a single request, keeping the same ID and name. When false, the legacy delete-and-recreate behaviour is used. Some TM1 versions have a bug where the single-request update bypasses security checks; only enable once you have verified your TM1 version is not affected.

number.thousand

—

Thousands separator for number formatting in the Cube Viewer, e.g. ".". Overridable per user. Requires Arc restart.

number.decimal

—

Decimal separator for number formatting in the Cube Viewer, e.g. ",". Overridable per user. Requires Arc restart.

Arc AI Assistant

Settings to enable and configure the AI assistant integrated in Arc.

Parameter

Default

Description

enablearcassistant

true

Enable or disable the Arc AI Assistant.

aiserviceapikey

—

API key for the AI service. Can also be set in client settings or via the AI_SERVICE_API_KEY environment variable.

aiserviceprovider

openai

AI service provider. Options: openai, ollama, huggingface, watsonx. Use openai for any OpenAI-compatible service (e.g. GROQ).

aiserviceurl

—

Custom server URL for the AI provider. Leave empty to use the default OpenAI endpoint.

aillmname

chatgpt-4o-latest

Name of the LLM model to use.

aimaxtokens

—

Optional maximum tokens for AI requests, e.g. 4096.

aiwxprojectid

—

WatsonX project ID. Required when aiserviceprovider is watsonx.

aiapiversion

—

API version for Azure OpenAI, e.g. 2024-02-15-preview.

aiapitype

openai

API type for Azure OpenAI. Options: openai, azure, azuread.

aisystemmessage

—

Custom system message to set the context for the AI assistant.

aimodeladdons

—

Optional per-model additions appended to the system prompt, keyed by the exact model name set in aillmname. Useful for tuning model-specific behaviour without changing the shared prompt.

AI Embeddings

Separate configuration for the AI embeddings service used for document-based retrieval.

Parameter

Default

Description

aiembeddingsserviceapiKey

—

API key for the AI embeddings service.

aiembeddingsserviceurl

—

URL of the AI embeddings service.

aiembeddingsmodelname

—

Embeddings model name, e.g. nomic-embed-text. Changing the model requires deleting the docs directory within Arc.

aiembeddingsserviceprovider

—

Embeddings service provider. Options: openai, ollama, huggingface, watsonx.

aiembeddingswxprojectid

—

WatsonX project ID for embeddings. Required when aiembeddingsserviceprovider is watsonx.

aiembeddingsapiversion

—

API version for Azure OpenAI embeddings.

aiembeddingsapitype

openai

API type for Azure OpenAI embeddings. Options: openai, azure, azuread.

AI Automation and Tool Limits

Controls that govern whether the assistant can call tools and how many tool calls it may make in a single turn. See also 🤖 Arc Assistant for task-oriented guidance.

Parameter

Default

Description

aidisableautomation

false

When true, all AI automation is disabled: the assistant cannot call tools and remains available for conversational use only.

aitoolwarningiteration

5

Iteration at which a soft warning is injected into the prompt.

aitoolcriticaliteration

10

Iteration at which a hard stop directive is injected, blocking further read-only tool calls.

aimaxtooliteration

20

Hard client-side limit; the turn is terminated after this many iterations.

AI Object and Data Access Controls

Admin controls that restrict which TM1 objects and cell data the assistant can read or write. These are the server-side kill switches; per-user toggles in the Arc Assistant context bar are the soft controls.

Parameter

Default

Description

aidisabletm1objectaccess

false

When true, the arc_list_tm1_objects and arc_get_tm1_objects assistant tools are disabled entirely.

aitm1objectaccess.maxresults

100

Maximum number of object names returned per page by arc_list_tm1_objects.

aitm1objectaccess.allowedtypes

[]

Restrict which object types the LLM may query. Empty list means all types are allowed. Valid types: cube, dimension, process, chore, subset, view, element.

aitm1objectaccess.blacklistedproperties

—

Per-type property blacklist for arc_get_tm1_objects. Listed properties are stripped from the TM1 REST response before it reaches the LLM (e.g. process procedures, cube rules).

aidisablecubeviewdata

false

When true, the arc_get_view_data tool is disabled entirely. This is the admin kill switch; the per-user "Share view data" toggle is the soft control.

aicubeviewdatamaxcells

5000

Maximum number of cells returned in a single arc_get_view_data call. Larger requests are rejected with an instruction to narrow the view.

blacklisteddataread

—

Per-dimension regex patterns whose matching elements have their cell values redacted before being returned by arc_get_view_data. Redacted cells are sent as restricted; headers remain intact. A read-blacklist hit also blocks any write tool. Note: redaction does not prevent inference via consolidations.

blacklisteddatawrite

—

Additional per-dimension restrictions that apply only to write-cell tools. Write tools check the union of blacklisteddataread and blacklisteddatawrite.

AI Unit Test Generation

Configuration for AI-enhanced unit test generation in the Test Hub (the "Enhance with AI" option on the Generate Unit Tests dialog). Configured under the aitestgen block.

Parameter

Default

Description

aitestgen.disabled

false

When true, the "Enhance with AI" checkbox is hidden and direct calls to the generation endpoint are rejected with 403.

aitestgen.maxtestsperTarget

5

Maximum number of unit tests the LLM may generate per target object per run. Higher values cost more tokens.

aitestgen.maxcsvbytes

100000

Hard cap on the combined size of CSV test data files the LLM emits per target, in bytes. If exceeded, all CSVs are dropped and an error is returned.

AI MDX Templates

Parameter

Default

Description

aitemplatesreplacedefault

false

When true and at least one custom MDX template exists in ai-templates/mdx/, the custom templates replace Arc's built-in MDX template set entirely. When false, custom templates are merged with the built-in ones.

AI External MCP Servers

The assistant can act as a Model Context Protocol (MCP) client and consume tools from external MCP servers. See Enabling MCP Servers for the Arc Assistant for a full walkthrough.

Parameter

Default

Description

aidisableexternalmcp

false

When true, the assistant will not connect to any external MCP servers declared in mcpservers, overriding individual enabled flags.

mcpservers

—

List of external MCP servers to connect to. Each entry becomes a tool namespace prefix (e.g. a server named pulse exposes tools as mcp_pulse_<tool>). Per-entry keys: name, displayname, transport (stdio, streamable, or sse), url, headers, auth (none, bearer), enabled, and for stdio command, args, env.

Messaging Settings

Configuration for the Arc built-in messenger feature. Messenger ships disabled; set enablemessenger: true to enable all messaging features. The messengersettings block tunes the behaviour once enabled.

Parameter

Default

Description

enablemessenger

false

Set to true to enable all messaging features. Messenger ships disabled.

messengersettings.maxconnections

100

Maximum number of concurrent messenger connections.

messengersettings.clienttimeout

4h

How long a client can go without polling before being removed, e.g. 30m, 2h, 4h.

messengersettings.ratelimit.maxperminute

100

Maximum messages allowed per minute (rate limiting).

messengersettings.connectratelimit.maxperminute

20

Maximum connect/disconnect requests allowed per IP per minute.

messengersettings.maxmessagesize

65536

Maximum message size (bytes) allowed from a peer.

messengersettings.maxpendingmessages

1000

Maximum pending messages per client. Oldest messages are dropped when exceeded.

messengersettings.pollintervalms

3000

Polling interval in milliseconds. Lower values mean faster delivery but more server load.

messengersettings.maxbackoffms

30000

Maximum exponential backoff time (ms) for reconnection attempts.

messengersettings.basebackoffms

1000

Base exponential backoff time (ms) for reconnection attempts.

messengersettings.maxreconnectattempts

5

Maximum number of consecutive poll failures (404 reconnects or transient 5xx/network errors) before polling halts entirely. Polling resumes on the next user login. Raise for flaky networks.

Atmosphere Settings

Connect Arc to an Atmosphere tenant for extended collaboration features.

Parameter

Default

Description

atmosphereurl

—

Default base URL of your Atmosphere server, e.g. https://tenant.atmosphere-dev.run. Applied to all Server Groups unless overridden.

atmosphereurloverrides

—

Map of Server Group names to specific Atmosphere URLs for per-group overrides.

Example:

Blueprint Settings

Control the export and availability of blueprint templates.

Parameter

Default

Description

disableblueprintcopy

false

Set to true to disable export of the default/sample blueprints.

Object Locking Settings

Control object locking behaviour in Arc, backed by Pulse.

Parameter

Default

Description

disableobjectlocking

false

Set to true to disable the object locking feature entirely.

objectlockingsettings.cachetimeout

2s

Duration the locking status is cached in the Arc server before querying Pulse again.

objectlockingsettings.pollinterval

5s

Interval between polling for lock state changes on a connected instance.

OpenID Connect (Global)

Global OIDC settings that apply across all connections. These can also be set per connection (see TM1 Instance Connections above).

Parameter

Description

openidconfiguration

Discovery URL of the OIDC provider.

openidclientid

Client ID from your OIDC provider.

openidsecretid

Client secret from your OIDC provider.

openiduseidtokenforbearer

Use the ID Token instead of the Access Token for the Bearer header (IBM PA v12).

openidstrictmode

Force the OpenID flow regardless of 401 response header content.

Slice Settings

Settings specific to the Slice Excel add-in and its integration with Pulse.

Parameter

Default

Description

detailedslicecontextinfo

true

Enable detailed info in the context column in Arc Sessions, Pulse, or TM1Top for Slice operations.

slicepulselogging.enabled

false

Enable or disable Slice Pulse logging.

slicepulselogging.pulseurl

—

Pulse URL to send Slice usage data to.

slicepulselogging.updatestamp

—

Update stamp for tracking.

slicepulselogging.sheetcellseekmaxrow

50

Maximum rows to seek when checking for TM1 sheet cells.

slicepulselogging.sheetcellseekmaxcol

50

Maximum columns to seek when checking for TM1 sheet cells.

slicepulselogging.enablesimpletm1sheetcheck

true

Enable simplified TM1 sheet detection.

slicepulselogging.recalculatefirstsheet

false

Recalculate the first sheet on workbook open.