Post

Generating Your Server API Token

Generate a Satisfactory dedicated server API token using the admin password. Required by FICSIT.monitor to authenticate and poll your server's metrics.

Generating Your Server API Token

Overview

FICSIT.monitor authenticates with your Satisfactory server using an API token derived from your admin password. This guide explains the two token generation methods and how to verify that authentication works.

FICSIT.monitor handles token generation automatically when you add a server — you only need to provide the admin password, not the token itself. This guide is useful if you want to test connectivity manually before connecting FICSIT.monitor.


Prerequisites


Use this method when an admin password has been set.

1
2
3
4
5
6
7
8
9
curl -k -X POST https://YOUR_SERVER_IP:7777/api/v1 \
  -H "Content-Type: application/json" \
  -d '{
    "function": "PasswordLogin",
    "data": {
      "minimumPrivilegeLevel": "Administrator",
      "password": "YourAdminPassword"
    }
  }'

Successful response:

1
2
3
4
5
{
  "data": {
    "authenticationToken": "eyJhbGciOiJSUzI1NiJ9..."
  }
}

Error response (wrong password):

1
2
3
4
{
  "errorCode": "wrong_password",
  "errorMessage": "The provided password is incorrect."
}

Method 2: Passwordless Login (No Password Set)

Use this method if no admin password has been configured yet.

1
2
3
4
5
6
7
8
curl -k -X POST https://YOUR_SERVER_IP:7777/api/v1 \
  -H "Content-Type: application/json" \
  -d '{
    "function": "PasswordlessLogin",
    "data": {
      "minimumPrivilegeLevel": "Administrator"
    }
  }'

This only works when no admin password has been set. If the server has a password, you must use Method 1.


Why -k is Required

The Satisfactory dedicated server uses a self-signed TLS certificate on port 7777. The -k flag in curl disables certificate verification. FICSIT.monitor handles this internally — it always accepts the server’s self-signed certificate.


Verifying the Token Works

Use the token to query server state:

1
2
3
4
curl -k -X POST https://YOUR_SERVER_IP:7777/api/v1 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"function": "QueryServerState", "data": {}}'

Expected response:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
  "data": {
    "serverGameState": {
      "activeSessionName": "YourWorldName",
      "numConnectedPlayers": 0,
      "playerLimit": 8,
      "techTier": 0,
      "isGameRunning": true,
      "isGamePaused": false,
      "totalGameDuration": 3600
    }
  }
}

Token Lifetime

API tokens expire after some time or when the server is restarted. FICSIT.monitor re-authenticates automatically using the stored admin password when a token expires. You do not need to manually manage token rotation.


What to Do with This

When adding your server to FICSIT.monitor, you provide:

  • Host: your server’s public IP (e.g., 46.224.182.211)
  • API Port: 7777
  • Admin Password: the password you set

FICSIT.monitor uses the admin password to call PasswordLogin internally, stores the resulting token, and uses it for all subsequent API calls.


Next Step

What is FICSIT.monitor? →

This post is licensed under CC BY 4.0 by the author.