> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.itential.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server.

# Get the health of the server

GET https://example.itential.io/health/server

Returns the health of the server.

Reference: https://docs.itential.com/itential-cloud/api-reference/health/get-server-health

## Authentication

- `Authorization` header (basic auth, required) — Basic authentication of the form `Basic <base64(username:password)>`.

## Response

### 200

Contains the server health data.

- `version` (string, optional)
- `release` (string, optional)
- `arch` (enum, optional)
  - Allowed values: `arm`, `arm64`, `ia32`, `mips`, `mipsel`, `ppc`, `ppc64`, `s390`, `s390x`, `x32`, `x64`
- `platform` (enum, optional)
  - Allowed values: `aix`, `darwin`, `freebsd`, `linux`, `openbsd`, `sunos`, `win32`
- `versions` (object, optional)
  - `node` (string, optional)
  - `v8` (string, optional)
  - `uv` (string, optional)
  - `zlib` (string, optional)
  - `brotli` (string, optional)
  - `ares` (string, optional)
  - `modules` (string, optional)
  - `nghttp2` (string, optional)
  - `napi` (string, optional)
  - `llhttp` (string, optional)
  - `http_parser` (string, optional)
  - `openssl` (string, optional)
  - `cldr` (string, optional)
  - `icu` (string, optional)
  - `tz` (string, optional)
  - `unicode` (string, optional)
- `memoryUsage` (object, optional)
  - `rss` (integer, optional) — Resident Set Size - the amount of space occupied in the main memory - in bytes
  - `heapTotal` (integer, optional) — Heap Total in bytes for the Node V8 engine
  - `heapUsed` (integer, optional) — Heap Used in bytes by the Node V8 engine
  - `external` (integer, optional) — External usage - memory usage of C++ objects bound to JavaScript objects managed by the Node V8 engine - in bytes
- `cpuUsage` (object, optional) — Contains microsecond data for user and system modes. These values are used to calculate CPU usage (with implied conversions) by the following formula : (current CPU usage - previous CPU usage) / (current uptime - previous uptime)
  - `user` (integer, optional) — Microseconds spent in user mode
  - `system` (integer, optional) — Microseconds spent in system mode
- `uptime` (double, optional) — Number of seconds the current process has been running.
- `pid` (integer, optional)
- `dependencies` (object, optional)
  - `@itential/logger` (string, optional)
  - `@itential/database` (string, optional)
  - `@itential/itential-utils` (string, optional)

## Errors

### 500 Internal Server Error

Error response from API

- `any`

## Examples

**Response**

```json
{
  "version": "0.0.1",
  "release": "0.0.1",
  "arch": "arm",
  "platform": "aix",
  "versions": {
    "node": "0.0.1",
    "v8": "0.0.1",
    "uv": "0.0.1",
    "zlib": "0.0.1",
    "brotli": "0.0.1",
    "ares": "0.0.1",
    "modules": "0.0.1",
    "nghttp2": "0.0.1",
    "napi": "0.0.1",
    "llhttp": "0.0.1",
    "http_parser": "0.0.1",
    "openssl": "0.0.1",
    "cldr": "0.0.1",
    "icu": "0.0.1",
    "tz": "0.0.1",
    "unicode": "0.0.1"
  },
  "memoryUsage": {
    "rss": 7125982,
    "heapTotal": 7125982,
    "heapUsed": 7125982,
    "external": 7125982
  },
  "cpuUsage": {
    "user": 7125982,
    "system": 7125982
  },
  "uptime": 2245.9722,
  "pid": 7125982,
  "dependencies": {
    "@itential/logger": "0.0.1",
    "@itential/database": "0.0.1",
    "@itential/itential-utils": "0.0.1"
  }
}
```

**SDK Code**

```python
import requests

url = "https://example.itential.io/health/server"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://example.itential.io/health/server';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://example.itential.io/health/server"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://example.itential.io/health/server")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://example.itential.io/health/server")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://example.itential.io/health/server');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://example.itential.io/health/server");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://example.itential.io/health/server")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```