> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/jellyfin/jellyfin/llms.txt
> Use this file to discover all available pages before exploring further.

# Server Information

> API endpoints for retrieving Jellyfin server information and status

## Overview

The Server Information API provides endpoints to retrieve system information, server version, capabilities, and status. These endpoints are useful for clients to discover server capabilities and monitor system health.

## Get System Information

Retrieves comprehensive information about the Jellyfin server.

### Endpoint

```
GET /System/Info
```

### Authentication

Required. User must have permission to retrieve system information.

### Response

Returns a `SystemInfo` object with detailed server information.

<ResponseField name="ServerName" type="string">
  The name of the server
</ResponseField>

<ResponseField name="Version" type="string">
  The server version number
</ResponseField>

<ResponseField name="ProductName" type="string">
  The product name (Jellyfin Server)
</ResponseField>

<ResponseField name="LocalAddress" type="string">
  The local address of the server
</ResponseField>

<ResponseField name="Id" type="string">
  Unique identifier for the server instance
</ResponseField>

<ResponseField name="StartupWizardCompleted" type="boolean">
  Whether the initial setup wizard has been completed
</ResponseField>

<ResponseField name="PackageName" type="string">
  The package name (from -package command line argument)
</ResponseField>

<ResponseField name="HasPendingRestart" type="boolean">
  Indicates if the server has a pending restart
</ResponseField>

<ResponseField name="IsShuttingDown" type="boolean">
  Indicates if the server is currently shutting down
</ResponseField>

<ResponseField name="SupportsLibraryMonitor" type="boolean">
  Whether the server supports real-time library monitoring
</ResponseField>

<ResponseField name="WebSocketPortNumber" type="integer">
  The WebSocket port number for real-time communication
</ResponseField>

<ResponseField name="CompletedInstallations" type="array">
  Array of recently completed plugin installations
</ResponseField>

<ResponseField name="CastReceiverApplications" type="array">
  List of available cast receiver applications
</ResponseField>

### Example Request

```bash theme={null}
curl -X GET "https://your-jellyfin-server/System/Info" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"
```

### Example Response

```json theme={null}
{
  "ServerName": "My Jellyfin Server",
  "Version": "10.8.13",
  "ProductName": "Jellyfin Server",
  "LocalAddress": "http://192.168.1.100:8096",
  "Id": "a1b2c3d4e5f6g7h8i9j0",
  "StartupWizardCompleted": true,
  "PackageName": "jellyfin",
  "HasPendingRestart": false,
  "IsShuttingDown": false,
  "SupportsLibraryMonitor": true,
  "WebSocketPortNumber": 8096,
  "CompletedInstallations": [],
  "CastReceiverApplications": []
}
```

### Response Codes

* `200` - Information retrieved successfully
* `403` - User does not have permission to retrieve information

***

## Get Public System Information

Retrieves public information about the server that does not require authentication.

### Endpoint

```
GET /System/Info/Public
```

### Authentication

Not required. This endpoint is publicly accessible.

### Response

Returns a `PublicSystemInfo` object with basic server information.

<ResponseField name="LocalAddress" type="string">
  The local address of the server
</ResponseField>

<ResponseField name="ServerName" type="string">
  The name of the server
</ResponseField>

<ResponseField name="Version" type="string">
  The server version
</ResponseField>

<ResponseField name="ProductName" type="string">
  The product name
</ResponseField>

<ResponseField name="Id" type="string">
  Unique server identifier
</ResponseField>

<ResponseField name="StartupWizardCompleted" type="boolean">
  Whether the startup wizard is completed
</ResponseField>

### Example Request

```bash theme={null}
curl -X GET "https://your-jellyfin-server/System/Info/Public"
```

### Example Response

```json theme={null}
{
  "LocalAddress": "http://192.168.1.100:8096",
  "ServerName": "My Jellyfin Server",
  "Version": "10.8.13",
  "ProductName": "Jellyfin Server",
  "Id": "a1b2c3d4e5f6g7h8i9j0",
  "StartupWizardCompleted": true
}
```

### Response Codes

* `200` - Information retrieved successfully

***

## Get Storage Information

Retrieves information about server storage paths.

### Endpoint

```
GET /System/Info/Storage
```

### Authentication

Required. User must have elevated permissions (administrator).

### Response

Returns a `SystemStorageDto` object with storage information.

### Example Request

```bash theme={null}
curl -X GET "https://your-jellyfin-server/System/Info/Storage" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"
```

### Response Codes

* `200` - Storage information retrieved successfully
* `403` - User does not have permission to retrieve storage information

***

## Ping System

Pings the system to check if it's responsive.

### Endpoint

```
GET /System/Ping
POST /System/Ping
```

### Authentication

Not required.

### Response

Returns the server name as a string.

### Example Request

```bash theme={null}
curl -X GET "https://your-jellyfin-server/System/Ping"
```

### Example Response

```
My Jellyfin Server
```

### Response Codes

* `200` - Server is responsive

***

## Get Endpoint Information

Retrieves information about the client's connection endpoint.

### Endpoint

```
GET /System/Endpoint
```

### Authentication

Required.

### Response

Returns an `EndPointInfo` object.

<ResponseField name="IsLocal" type="boolean">
  Whether the connection is from a local network address
</ResponseField>

<ResponseField name="IsInNetwork" type="boolean">
  Whether the connection is from within the configured local network
</ResponseField>

### Example Request

```bash theme={null}
curl -X GET "https://your-jellyfin-server/System/Endpoint" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"
```

### Example Response

```json theme={null}
{
  "IsLocal": true,
  "IsInNetwork": true
}
```

### Response Codes

* `200` - Information retrieved successfully
* `403` - User does not have permission

***

## Get Server Logs

Retrieves a list of available server log files.

### Endpoint

```
GET /System/Logs
```

### Authentication

Required. User must have elevated permissions (administrator).

### Response

Returns an array of `LogFile` objects.

<ResponseField name="Name" type="string">
  The log file name
</ResponseField>

<ResponseField name="DateCreated" type="string">
  ISO 8601 timestamp when the file was created
</ResponseField>

<ResponseField name="DateModified" type="string">
  ISO 8601 timestamp when the file was last modified
</ResponseField>

<ResponseField name="Size" type="integer">
  File size in bytes
</ResponseField>

### Example Request

```bash theme={null}
curl -X GET "https://your-jellyfin-server/System/Logs" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"
```

### Example Response

```json theme={null}
[
  {
    "Name": "log_20240305.txt",
    "DateCreated": "2024-03-05T00:00:00.000Z",
    "DateModified": "2024-03-05T14:30:00.000Z",
    "Size": 1048576
  },
  {
    "Name": "log_20240304.txt",
    "DateCreated": "2024-03-04T00:00:00.000Z",
    "DateModified": "2024-03-04T23:59:59.000Z",
    "Size": 2097152
  }
]
```

### Response Codes

* `200` - Log files list retrieved successfully
* `403` - User does not have permission to get server logs

***

## Get Log File

Retrieves the contents of a specific log file.

### Endpoint

```
GET /System/Logs/Log
```

### Authentication

Required. User must have elevated permissions (administrator).

### Query Parameters

<ParamField query="name" type="string" required>
  The name of the log file to retrieve
</ParamField>

### Response

Returns the log file contents as plain text.

### Example Request

```bash theme={null}
curl -X GET "https://your-jellyfin-server/System/Logs/Log?name=log_20240305.txt" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"
```

### Response Codes

* `200` - Log file retrieved successfully
* `403` - User does not have permission to get log files
* `404` - Log file not found

***

## Restart Server

Restarts the Jellyfin application.

### Endpoint

```
POST /System/Restart
```

### Authentication

Required. User must have elevated permissions or be on local network.

### Response

Returns no content on success. The server will restart after the response is sent.

### Example Request

```bash theme={null}
curl -X POST "https://your-jellyfin-server/System/Restart" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"
```

### Response Codes

* `204` - Server restart initiated successfully
* `403` - User does not have permission to restart the server

***

## Shutdown Server

Shuts down the Jellyfin application.

### Endpoint

```
POST /System/Shutdown
```

### Authentication

Required. User must have elevated permissions (administrator).

### Response

Returns no content on success. The server will shut down after the response is sent.

### Example Request

```bash theme={null}
curl -X POST "https://your-jellyfin-server/System/Shutdown" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"
```

### Response Codes

* `204` - Server shutdown initiated successfully
* `403` - User does not have permission to shutdown the server
