> For the complete documentation index, see [llms.txt](https://inscada.gitbook.io/ins/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://inscada.gitbook.io/ins/en-1/programing/apis.md).

# APIs

In inSCADA platform's script and expression services, you can enrich your applications using javascript programming language. inSCADA offers APIs to enhance its script and expression services. You can reach all these APIs using the "ins." class.

#### API(s)

#### Variable Functions

* ins.getVariableValue(String variableName)
* ins.getVariableValue(String variableN ame,Integer index)
* ins.getVariableValues(String\[] variableNames)
* ins.getProjectVariableValues()
* ins.setVariableValue(String variableName,Map \<String,Object) details)
* ins.mapVariableValue(String src,String dst)
* ins.mapVariableValue(String src,String dst,Object defaultValue)

#### Connection Functions

* ins.getConnectionStatus(Integer connectionId)
* ins.getConnectionStatus(String connectionName)
* ins.startConnection(String connectionName)
* ins.stopConnection(String connectionName)

#### Project Functions

* ins.getProject()

#### Alarm Functions

* ins.activateAlarm(String alarmName)
* ins.deactivateAlarm(String alarmName)
* ins.getAlarmStatus(String alarmName)
* ins.getLastFiredAlarm(Integer index)

#### Script Functions

* ins.scheduleScript(String scriptName)
* ins.cancelScript(String scriptName)
* ins.getScriptStatus(String scriptName)

#### In-Memmory Database Functions

* ins.getGlobalObject(String name)
* ins.setGlobalObject(String name,Object object)

#### System Functions

* ins.getSystemRequests()
* ins.deleteSystemRequest(SystemRequest systemRequest)
* ins.getSystemStats()&#x20;
* ins.shutdown()
* ins.restart()

#### User Functions

* ins.getLastAuthAttempts()

#### Date-Time Functions

* ins.now()
* ins.setDateTime(long ms)

#### String Functions

* ins.leftPad(String str, int len, String padChar)

#### Notification Functions

* ins.notify(String type,String title,String message)

#### Confirmation Functions

* ins.confirm(String type, String Title, String message, Object object)

#### Database Functions

* ins.writeLog(String type, String source, String activity, String msg)
* getLoggedDailyVariableValueStats
* getLoggedHourlyVariableValueStats
* getLoggedVariableValueStats

#### Other Functions

* ins.exec(String\[] command)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://inscada.gitbook.io/ins/en-1/programing/apis.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
