curl --request POST \
--url https://api.computeflow.cloud/api/v3/projects/settings \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"port_configs": [
{
"name": "<string>",
"internal_port": 32768,
"tls_enabled": true,
"id": "<string>"
}
],
"auth_config": {
"provider": "none"
},
"environment_variables": {},
"lobby_configs": [
{
"id": "<string>",
"name": "<string>",
"enabled": true,
"timeout": 2,
"heartbeat": true,
"heartbeatTimeout": 123,
"hostLeaveBehavior": "promote",
"customProperties": {},
"serverSettings": {}
}
]
}
'import requests
url = "https://api.computeflow.cloud/api/v3/projects/settings"
payload = {
"port_configs": [
{
"name": "<string>",
"internal_port": 32768,
"tls_enabled": True,
"id": "<string>"
}
],
"auth_config": { "provider": "none" },
"environment_variables": {},
"lobby_configs": [
{
"id": "<string>",
"name": "<string>",
"enabled": True,
"timeout": 2,
"heartbeat": True,
"heartbeatTimeout": 123,
"hostLeaveBehavior": "promote",
"customProperties": {},
"serverSettings": {}
}
]
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
port_configs: [{name: '<string>', internal_port: 32768, tls_enabled: true, id: '<string>'}],
auth_config: {provider: 'none'},
environment_variables: {},
lobby_configs: [
{
id: '<string>',
name: '<string>',
enabled: true,
timeout: 2,
heartbeat: true,
heartbeatTimeout: 123,
hostLeaveBehavior: 'promote',
customProperties: {},
serverSettings: {}
}
]
})
};
fetch('https://api.computeflow.cloud/api/v3/projects/settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.computeflow.cloud/api/v3/projects/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'port_configs' => [
[
'name' => '<string>',
'internal_port' => 32768,
'tls_enabled' => true,
'id' => '<string>'
]
],
'auth_config' => [
'provider' => 'none'
],
'environment_variables' => [
],
'lobby_configs' => [
[
'id' => '<string>',
'name' => '<string>',
'enabled' => true,
'timeout' => 2,
'heartbeat' => true,
'heartbeatTimeout' => 123,
'hostLeaveBehavior' => 'promote',
'customProperties' => [
],
'serverSettings' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.computeflow.cloud/api/v3/projects/settings"
payload := strings.NewReader("{\n \"port_configs\": [\n {\n \"name\": \"<string>\",\n \"internal_port\": 32768,\n \"tls_enabled\": true,\n \"id\": \"<string>\"\n }\n ],\n \"auth_config\": {\n \"provider\": \"none\"\n },\n \"environment_variables\": {},\n \"lobby_configs\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"enabled\": true,\n \"timeout\": 2,\n \"heartbeat\": true,\n \"heartbeatTimeout\": 123,\n \"hostLeaveBehavior\": \"promote\",\n \"customProperties\": {},\n \"serverSettings\": {}\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.computeflow.cloud/api/v3/projects/settings")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"port_configs\": [\n {\n \"name\": \"<string>\",\n \"internal_port\": 32768,\n \"tls_enabled\": true,\n \"id\": \"<string>\"\n }\n ],\n \"auth_config\": {\n \"provider\": \"none\"\n },\n \"environment_variables\": {},\n \"lobby_configs\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"enabled\": true,\n \"timeout\": 2,\n \"heartbeat\": true,\n \"heartbeatTimeout\": 123,\n \"hostLeaveBehavior\": \"promote\",\n \"customProperties\": {},\n \"serverSettings\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.computeflow.cloud/api/v3/projects/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"port_configs\": [\n {\n \"name\": \"<string>\",\n \"internal_port\": 32768,\n \"tls_enabled\": true,\n \"id\": \"<string>\"\n }\n ],\n \"auth_config\": {\n \"provider\": \"none\"\n },\n \"environment_variables\": {},\n \"lobby_configs\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"enabled\": true,\n \"timeout\": 2,\n \"heartbeat\": true,\n \"heartbeatTimeout\": 123,\n \"hostLeaveBehavior\": \"promote\",\n \"customProperties\": {},\n \"serverSettings\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"port_configs": [
{
"name": "<string>",
"internal_port": 32768,
"tls_enabled": true,
"id": "<string>"
}
],
"auth_config": {
"provider": "none"
},
"environment_variables": {},
"pool_config": {
"enabled": true,
"regions": {},
"build_name": "<string>",
"build_version": 2
},
"lobby_configs": [
{
"id": "<string>",
"name": "<string>",
"enabled": true,
"timeout": 2,
"heartbeat": true,
"heartbeatTimeout": 123,
"hostLeaveBehavior": "promote",
"customProperties": {},
"inviteCodeConfig": {
"length": 8,
"prefix": "<string>"
},
"serverSettings": {},
"matchmaking": {
"modes": {}
}
}
],
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"status": 123,
"detail": "<string>"
}{
"error": "<string>",
"status": 123,
"detail": "<string>"
}{
"error": "<string>",
"status": 123,
"detail": "<string>"
}Update project settings
Updates project-level configuration. All fields are optional — only include what you want to change. Omitted fields remain unchanged. Requires a server key (pf_…); client keys (pfclient_*) are rejected with 403.
port_configs: Network ports allocated for every server (max 10). Define game ports, query ports, etc.
auth_config: Player authentication provider (none, custom_jwt, playfab, steam).
environment_variables: Default env vars injected into every game server.
pool_config: Pre-provisioned server pool sizes per region and compute size.
lobby_configs: Lobby types with matchmaking rules, team structures, and invite codes (max 20).
curl --request POST \
--url https://api.computeflow.cloud/api/v3/projects/settings \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"port_configs": [
{
"name": "<string>",
"internal_port": 32768,
"tls_enabled": true,
"id": "<string>"
}
],
"auth_config": {
"provider": "none"
},
"environment_variables": {},
"lobby_configs": [
{
"id": "<string>",
"name": "<string>",
"enabled": true,
"timeout": 2,
"heartbeat": true,
"heartbeatTimeout": 123,
"hostLeaveBehavior": "promote",
"customProperties": {},
"serverSettings": {}
}
]
}
'import requests
url = "https://api.computeflow.cloud/api/v3/projects/settings"
payload = {
"port_configs": [
{
"name": "<string>",
"internal_port": 32768,
"tls_enabled": True,
"id": "<string>"
}
],
"auth_config": { "provider": "none" },
"environment_variables": {},
"lobby_configs": [
{
"id": "<string>",
"name": "<string>",
"enabled": True,
"timeout": 2,
"heartbeat": True,
"heartbeatTimeout": 123,
"hostLeaveBehavior": "promote",
"customProperties": {},
"serverSettings": {}
}
]
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
port_configs: [{name: '<string>', internal_port: 32768, tls_enabled: true, id: '<string>'}],
auth_config: {provider: 'none'},
environment_variables: {},
lobby_configs: [
{
id: '<string>',
name: '<string>',
enabled: true,
timeout: 2,
heartbeat: true,
heartbeatTimeout: 123,
hostLeaveBehavior: 'promote',
customProperties: {},
serverSettings: {}
}
]
})
};
fetch('https://api.computeflow.cloud/api/v3/projects/settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.computeflow.cloud/api/v3/projects/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'port_configs' => [
[
'name' => '<string>',
'internal_port' => 32768,
'tls_enabled' => true,
'id' => '<string>'
]
],
'auth_config' => [
'provider' => 'none'
],
'environment_variables' => [
],
'lobby_configs' => [
[
'id' => '<string>',
'name' => '<string>',
'enabled' => true,
'timeout' => 2,
'heartbeat' => true,
'heartbeatTimeout' => 123,
'hostLeaveBehavior' => 'promote',
'customProperties' => [
],
'serverSettings' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.computeflow.cloud/api/v3/projects/settings"
payload := strings.NewReader("{\n \"port_configs\": [\n {\n \"name\": \"<string>\",\n \"internal_port\": 32768,\n \"tls_enabled\": true,\n \"id\": \"<string>\"\n }\n ],\n \"auth_config\": {\n \"provider\": \"none\"\n },\n \"environment_variables\": {},\n \"lobby_configs\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"enabled\": true,\n \"timeout\": 2,\n \"heartbeat\": true,\n \"heartbeatTimeout\": 123,\n \"hostLeaveBehavior\": \"promote\",\n \"customProperties\": {},\n \"serverSettings\": {}\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.computeflow.cloud/api/v3/projects/settings")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"port_configs\": [\n {\n \"name\": \"<string>\",\n \"internal_port\": 32768,\n \"tls_enabled\": true,\n \"id\": \"<string>\"\n }\n ],\n \"auth_config\": {\n \"provider\": \"none\"\n },\n \"environment_variables\": {},\n \"lobby_configs\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"enabled\": true,\n \"timeout\": 2,\n \"heartbeat\": true,\n \"heartbeatTimeout\": 123,\n \"hostLeaveBehavior\": \"promote\",\n \"customProperties\": {},\n \"serverSettings\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.computeflow.cloud/api/v3/projects/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"port_configs\": [\n {\n \"name\": \"<string>\",\n \"internal_port\": 32768,\n \"tls_enabled\": true,\n \"id\": \"<string>\"\n }\n ],\n \"auth_config\": {\n \"provider\": \"none\"\n },\n \"environment_variables\": {},\n \"lobby_configs\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"enabled\": true,\n \"timeout\": 2,\n \"heartbeat\": true,\n \"heartbeatTimeout\": 123,\n \"hostLeaveBehavior\": \"promote\",\n \"customProperties\": {},\n \"serverSettings\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"port_configs": [
{
"name": "<string>",
"internal_port": 32768,
"tls_enabled": true,
"id": "<string>"
}
],
"auth_config": {
"provider": "none"
},
"environment_variables": {},
"pool_config": {
"enabled": true,
"regions": {},
"build_name": "<string>",
"build_version": 2
},
"lobby_configs": [
{
"id": "<string>",
"name": "<string>",
"enabled": true,
"timeout": 2,
"heartbeat": true,
"heartbeatTimeout": 123,
"hostLeaveBehavior": "promote",
"customProperties": {},
"inviteCodeConfig": {
"length": 8,
"prefix": "<string>"
},
"serverSettings": {},
"matchmaking": {
"modes": {}
}
}
],
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"status": 123,
"detail": "<string>"
}{
"error": "<string>",
"status": 123,
"detail": "<string>"
}{
"error": "<string>",
"status": 123,
"detail": "<string>"
}Authorizations
Body
Project settings to update. All fields are optional — only include what you want to change. Omitted fields remain unchanged.
Network port configuration for all servers in this project (max 10 ports). Defines which ports PlayFlow allocates for each server.
10Show child attributes
Show child attributes
Player authentication provider configuration. Determines how player tokens are verified.
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Default environment variables injected into every game server. Can be overridden per-server at start time.
Show child attributes
Show child attributes
Server pool configuration for reducing cold-start latency. Set to { enabled: false, regions: {} } to disable pooling.
Show child attributes
Show child attributes
Lobby and matchmaking configuration. Defines lobby types, team structures, and matching rules (max 20).
20Show child attributes
Show child attributes
Response
Updated project settings (returns all fields, including unchanged ones).
Complete current project settings including ports, auth, environment, pool, and lobby configurations.
Current network port configuration for the project.
Show child attributes
Show child attributes
Current player authentication configuration.
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Current default environment variables for all servers.
Show child attributes
Show child attributes
Current server pool configuration. Null if pooling has never been configured.
Show child attributes
Show child attributes
Current lobby and matchmaking configurations.
Show child attributes
Show child attributes
ISO 8601 timestamp of the last settings update.