For the complete documentation index, see llms.txt. This page is also available as Markdown.

Serveurs dédiés

⚡ Déploiements

[v2] Deploy

post

[Rate Limit: 40 req/s] Create a new deployment - containerized instance of an application version.

Autorisations
AuthorizationstringRequis
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Corps
applicationstringRequis

Name of the application that will be deployed

Example: my-game-server
versionstringRequis

Name of the version within the application that will be deployed

Example: 25.05.30-16.45.19-04
require_cached_locationsboolean · nullableOptionnel

Deploy faster by limiting placement to locations with cached image.

Default: false
tagsstring[]Optionnel

List of tags to associate with the deployment

Example: my-custom-tag
Réponses
202

Deployment Request Accepted

application/json
request_idstringRequis

ID of your deployment, also referred to as request ID.

Example: a69f8e3e0555
post/deployments
POST /v2/deployments HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 134

{
  "application": "my-game-server",
  "version": "production",
  "users": [
    {
      "user_type": "ip_address",
      "user_data": {
        "ip_address": "75.28.35.192"
      }
    }
  ]
}
{
  "request_id": "a69f8e3e0555"
}

Get Deployment

get

[Rate Limit: 20 req/s] Get the specified deployment status and information.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: 61b1be8f54d9
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
request_idstringRequis

ID of your deployment, also referred to as request ID.

Example: c0653765de3b
fqdnstringRequis

FQDN (URL) to connect to the deployment.

Example: c0653765de3b.pr.edgegap.net
public_ipstringRequis

Public IP address of the host.

Example: 192.53.120.48
app_namestringRequis

Application which has been deployed.

Example: test
app_versionstringRequis

App version which has been deployed.

Example: v1
current_statusstringRequis

Indicates whether deployment is Ready, in Error, or otherwise.

Example: Status.SEEKING
runningbooleanRequis

True if deployment is Ready for connections.

Default: trueExample: true
start_timestring · date-timeRequis

Timestamp of deployment becoming Ready.

Example: 2026-04-22 12:00:46.444265
elapsed_timeintegerRequis

Seconds since deployment becoming Ready.

max_durationinteger · min: -1 · max: 1440Requis

Maximum allowed uptime minutes of deployments before automatically stopped.

Example: 1440
removal_timestring · date-timeOptionnel

Timestamp of deployment stopped.

Example: 2026-04-22 12:00:46.444265
last_statusstringOptionnel

Previous status of deployment.

Example: Status.SEEKING
errorbooleanRequis

Indicates an error with the deployment.

Default: falseExample: true
error_detailstringOptionnel

Details of the error.

Example: Pull image timeout exceeded
tagsstring[]Optionnel

List of tags to mark your deployments for easy filtering.

Example: production
commandstringOptionnel

Overrides container command for the deployment, use with caution.

Example: echo "hi" && sleep infinity
argumentsstringOptionnel

Overrides container arguments for the deployment, use with caution.

get/v1/status/{deployment_id}
GET /v1/status/{deployment_id} HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "request_id": "c0653765de3b",
  "fqdn": "c0653765de3b.pr.edgegap.net",
  "public_ip": "192.53.120.48",
  "app_name": "test",
  "app_version": "v1",
  "current_status": "Status.SEEKING",
  "running": true,
  "start_time": "2026-04-22 12:00:46.444265",
  "elapsed_time": 1,
  "max_duration": 1440,
  "removal_time": "2026-04-22 12:00:46.444265",
  "last_status": "Status.SEEKING",
  "error": true,
  "error_detail": "Pull image timeout exceeded",
  "ports": {
    "gameport": {
      "name": "gameport",
      "link": "https://c66980ae5bf1.pr.edgegap.net:30345",
      "internal": 7777,
      "external": 30345,
      "protocol": "UDP",
      "tls_upgrade": false
    }
  },
  "location": {
    "city": "Montreal",
    "country": "Canada",
    "continent": "North America",
    "administrative_division": "Quebec",
    "timezone": "Eastern Time",
    "latitude": 45.508888,
    "longitude": -73.561668
  },
  "tags": [
    "production"
  ],
  "command": "echo \"hi\" && sleep infinity",
  "arguments": "text"
}

List Deployments

get

[Rate Limit: 10 req/s] List all deployments, optionally filtered and sorted.

Autorisations
AuthorizationstringRequis
Paramètres de requête
querystringOptionnel

Query to filter the deployments. See filtering guide. For client integrations, consider Server Browser instead.

Example: {"filters":[{"field":"status","operator":"eq","value":"ready"}]}
pageinteger · min: 1OptionnelExample: 2
limitinteger · min: 1OptionnelExample: 20
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
messagestring[]Optionnel

Additional information related to your query.

Example: [""]
total_countintegerRequisExample: 100
get/v1/deployments
GET /v1/deployments HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "data": [
    {
      "request_id": "2d35052ec4e9",
      "fqdn": "abc123.test.edgegap.com",
      "ready": true,
      "start_time": "2026-04-22 12:00:46.444265",
      "public_ip": "100.10.0.85",
      "ports": {
        "gameport": {
          "name": "gameport",
          "link": "https://c66980ae5bf1.pr.edgegap.net:30345",
          "internal": 7777,
          "external": 30345,
          "protocol": "UDP",
          "tls_upgrade": false
        }
      },
      "tags": [
        "production"
      ]
    }
  ],
  "message": [
    ""
  ],
  "total_count": 100,
  "pagination": {
    "number": 1,
    "next_page_number": 2,
    "previous_page_number": 1,
    "paginator": {
      "num_pages": 10
    },
    "has_next": true,
    "has_previous": false
  }
}

Stop Deployment

delete

Request to stop a deployment from your custom backend, triggering a graceful shutdown (SIGTERM). Returns 200 or 202 if deployment status is not READY and not ERROR, and stops deployment once either of these statuses is reached - see Deployment Lifecycle.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: 61b1be8f54d9
Paramètres de requête
container_log_storagestringOptionnel

Enable or disable previously configured log storage. Alternatively, provide endpoint storage ID to override or set storage to upload logs.

Example: true
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
messagestringRequis

Additional information regarding deployment termination.

Example: 1a9e4ff02cce - Delete request will be processed soon
delete/v1/stop/{deployment_id}
DELETE /v1/stop/{deployment_id} HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "message": "1a9e4ff02cce - Delete request will be processed soon",
  "deployment_summary": {
    "request_id": "c0653765de3b",
    "fqdn": "c0653765de3b.pr.edgegap.net",
    "public_ip": "192.53.120.48",
    "app_name": "test",
    "app_version": "v1",
    "current_status": "Status.SEEKING",
    "running": true,
    "start_time": "2026-04-22 12:00:46.444265",
    "elapsed_time": 1,
    "max_duration": 1440,
    "removal_time": "2026-04-22 12:00:46.444265",
    "last_status": "Status.SEEKING",
    "error": true,
    "error_detail": "Pull image timeout exceeded",
    "ports": {
      "gameport": {
        "name": "gameport",
        "link": "https://c66980ae5bf1.pr.edgegap.net:30345",
        "internal": 7777,
        "external": 30345,
        "protocol": "UDP",
        "tls_upgrade": false
      }
    },
    "location": {
      "city": "Montreal",
      "country": "Canada",
      "continent": "North America",
      "administrative_division": "Quebec",
      "timezone": "Eastern Time",
      "latitude": 45.508888,
      "longitude": -73.561668
    },
    "tags": [
      "production"
    ],
    "command": "echo \"hi\" && sleep infinity",
    "arguments": "text"
  }
}

Stop Deployments

post

Delete multiple deployments using custom filtering. Caution is advised.

Autorisations
AuthorizationstringRequis
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Corps
Réponses
202

Accepted

application/json
post/v1/deployments/bulk-stop
POST /v1/deployments/bulk-stop HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "filters": [
    {
      "field": "request_id",
      "values": [
        "c0653765de3b"
      ],
      "filter_type": "any"
    }
  ]
}
{
  "processable": [
    {
      "request_id": "c0653765de3b"
    }
  ]
}

Self-Stop Deployment

delete

Delete a deployment from the inside of a container, available as injected variable ARBITRIUM_DELETE_URL.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: 61b1be8f54d9
stop_keystringRequisExample: 660
Paramètres de requête
container_log_storagestringOptionnel

Enable or disable previously configured log storage. Alternatively, provide endpoint storage ID to override or set storage to upload logs.

Example: true
Paramètres d'en-tête
authorizationstringRequis

Auto Generated token. This token is injected in your deployment and can be found via the environment variable named ARBITRIUM_DELETE_TOKEN

AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
anyOptionnel
delete/v1/self/stop/{deployment_id}/{stop_key}
DELETE /v1/self/stop/{deployment_id}/{stop_key} HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
authorization: text
Content-Type: text
Accept: */*

Aucun contenu

Get Deployment Logs

get

Retrieve the logs of your container, if Endpoint Storage was configured before stopping the deployment.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequis

ID of your deployment, also referred to as request ID.

Example: 61b1be8f54d9
Paramètres de requête
formatstring · enumOptionnel

Requested output format. text returns plain-text lines, ndjson returns newline-delimited JSON carrying timestamped lines.

Default: textExample: ndjsonValeurs possibles:
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
logsstringOptionnel

Plaintext deployment success logs.

Example: Logs of the container
crash_logsstring · nullableOptionnel

Plaintext deployment crash logs.

Example: Logs of the container when it crashed
encodingstringOptionnel

Encoding used for logs.

Example: utf-8
logs_linkstring · nullableOptionnel

Link to retrieve logs from your configured Endpoint Storage.

get/v1/deployment/{deployment_id}/container-logs
GET /v1/deployment/{deployment_id}/container-logs HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "logs": "Logs of the container",
  "crash_logs": "Logs of the container when it crashed",
  "crash_data": {
    "exit_code": 0,
    "message": "OOM killed",
    "restart_count": 0
  },
  "encoding": "utf-8",
  "logs_link": "text"
}

Get Deployment Metrics

get

Get metrics for the specified deployment in a given time range.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: 61b1be8f54d9
Paramètres de requête
start_timestring · date-timeOptionnel

Start of reporting time range, defaults to deployment start time.

Example: 2021-07-10 00:00:00.00
end_timestring · date-timeOptionnel

End of reporting time range, default to deployment stopped time. Must be greater than start time.

Example: 2021-07-10 00:00:00.00
stepsstringOptionnel

Size of reporting time step between metric values, aggregated using average (mean).

Example: 30s
rawbooleanOptionnel

Optionally enable raw output.

Default: falseExample: false
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
get/v1/metrics/deployment/{deployment_id}
GET /v1/metrics/deployment/{deployment_id} HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "total": {
    "receive_total": {
      "labels": [
        "00:00:00"
      ],
      "datasets": [
        1
      ],
      "timestamps": [
        "2021-07-14 14:17:37.711"
      ]
    },
    "transmit_total": {
      "labels": [
        "00:00:00"
      ],
      "datasets": [
        1
      ],
      "timestamps": [
        "2021-07-14 14:17:37.711"
      ]
    },
    "disk_read_total": {
      "labels": [
        "00:00:00"
      ],
      "datasets": [
        1
      ],
      "timestamps": [
        "2021-07-14 14:17:37.711"
      ]
    },
    "disk_write_total": {
      "labels": [
        "00:00:00"
      ],
      "datasets": [
        1
      ],
      "timestamps": [
        "2021-07-14 14:17:37.711"
      ]
    }
  },
  "cpu": {
    "labels": [
      "00:00:00"
    ],
    "datasets": [
      1
    ],
    "timestamps": [
      "2021-07-14 14:17:37.711"
    ]
  },
  "cpu_throttle_rate": {
    "labels": [
      "00:00:00"
    ],
    "datasets": [
      1
    ],
    "timestamps": [
      "2021-07-14 14:17:37.711"
    ]
  },
  "cpu_throttle_total": {
    "labels": [
      "00:00:00"
    ],
    "datasets": [
      1
    ],
    "timestamps": [
      "2021-07-14 14:17:37.711"
    ]
  },
  "mem": {
    "labels": [
      "00:00:00"
    ],
    "datasets": [
      1
    ],
    "timestamps": [
      "2021-07-14 14:17:37.711"
    ]
  },
  "network": {
    "receive": {
      "labels": [
        "00:00:00"
      ],
      "datasets": [
        1
      ],
      "timestamps": [
        "2021-07-14 14:17:37.711"
      ]
    },
    "transmit": {
      "labels": [
        "00:00:00"
      ],
      "datasets": [
        1
      ],
      "timestamps": [
        "2021-07-14 14:17:37.711"
      ]
    }
  }
}

🗺️ Flottes privées

Deploy to Fleet

post

[Rate Limit: 40/seconds] Initiate a new private fleet deployment. A deployment is a containerized server instance of an application version running on the Edgegap platform.

Autorisations
AuthorizationstringRequis
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Corps
private_host_idsstring[] · min: 1Requis

Preferred and prioritized Private Host IDs to try before overflowing to cloud.

Example: alpha-north-america-95fab093
applicationstringRequis

Name of the application that will be deployed

Example: my-game-server
versionstringRequis

Name of the version within the application that will be deployed

Example: 25.05.30-16.45.19-04
require_cached_locationsboolean · nullableOptionnel

Deploy faster by limiting placement to locations with cached image.

Default: false
tagsstring[]Optionnel

List of tags to associate with the deployment

Example: my-custom-tag
Réponses
202Succès
application/json
request_idstringRequis

ID of your deployment, also referred to as request ID.

Example: a69f8e3e0555
post/private-fleets/deployments
POST /v2/private-fleets/deployments HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 651

{
  "private_host_ids": [
    "alpha-north-america-95fab093"
  ],
  "application": "my-game-server",
  "version": "25.05.30-16.45.19-04",
  "resources": {
    "cpu_units": 1536,
    "memory_mib": 3072
  },
  "require_cached_locations": false,
  "users": [
    {
      "user_type": "ip_address",
      "user_data": {
        "ip_address": "75.28.35.192"
      }
    },
    {
      "user_type": "geo_coordinates",
      "user_data": {
        "latitude": 45.508888,
        "longitude": -73.561668
      }
    }
  ],
  "environment_variables": [
    {
      "key": "MY_ENVIRONMENT_VARIABLE",
      "value": "my-value",
      "is_hidden": false
    }
  ],
  "tags": [
    "my-custom-tag"
  ],
  "webhook_on_ready": {
    "url": "https://my-webhook.com"
  },
  "webhook_on_error": {
    "url": "https://my-webhook.com"
  },
  "webhook_on_terminated": {
    "url": "https://my-webhook.com"
  }
}
{
  "request_id": "a69f8e3e0555"
}

List Private Fleet Hosts

get

[Rate Limit: 10/seconds] List all hosts in a private fleet.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
fleet-namestringRequis

Name of your private fleet.

Example: test-fleet
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200Succès
application/json
total_countintegerRequisExample: 100
get/private-fleets/{fleet-name}/hosts
GET /v2/private-fleets/{fleet-name}/hosts HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "data": [
    {
      "host_id": "alpha-north-america-95fab093",
      "status": "ACTIVE",
      "ip_address": "192.53.120.48",
      "latitude": 43.6173,
      "longitude": -79.3186,
      "city": "Toronto",
      "country": "Canada",
      "continent": "North America",
      "allocated_cpu_units": 1152,
      "allocated_memory_mb": 2176,
      "allocatable_cpu_units": 12928,
      "allocatable_memory_mb": 25178,
      "beacon": {
        "tcp_port": 30974,
        "udp_port": 31843,
        "ip_address": "192.53.120.48"
      },
      "created_at": "2025-11-26T16:32:30.825138Z",
      "updated_at": "2025-11-26T16:32:30.825144Z",
      "centroid": {
        "label": "Alpha",
        "latitude": 43.98884323260136,
        "longitude": -78.67419552556069,
        "radius_km": 1,
        "desired_host_count": 1
      },
      "delete_schedule": {
        "uuid": "10287c9b-a6e2-4909-84c8-59daf74895b5",
        "scheduled_at": "2025-11-30T23:59:00Z"
      },
      "fleet_host_specifications": {
        "cpu_units": 16384,
        "memory_mb": 32768,
        "base_clock_speed_mhz": 2000
      }
    }
  ],
  "total_count": 100,
  "pagination": {
    "number": 1,
    "next_page_number": 2,
    "previous_page_number": 1,
    "paginator": {
      "num_pages": 10
    },
    "has_next": true,
    "has_previous": false
  }
}

🔖 Étiquettes

Create Tag

post

Create a tag for the specified deployment. Does not modify injected variables in a running deployment.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: f68e011bfb01
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Corps
namestring · min: 1 · max: 40Requis

Name of the tag.

Example: development
Réponses
200

Success

application/json
namestring · min: 1 · max: 40Requis

Name of the tag.

Example: development
create_timestring · date-timeOptionnel

Date of creation.

Example: 2026-04-22 20:30:52.283949
last_updatedstring · date-timeOptionnel

Date of last update.

Example: 2026-04-22 20:30:52.283949
post/v1/deployments/{deployment_id}/tags
POST /v1/deployments/{deployment_id}/tags HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "name": "development"
}
{
  "name": "development",
  "create_time": "2026-04-22 20:30:52.283949",
  "last_updated": "2026-04-22 20:30:52.283949"
}

Get Tag

get

Get tag from the specified deployment.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: f68e011bfb01
tag_namestringRequisExample: player-id-1234
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
namestring · min: 1 · max: 40Requis

Name of the tag.

Example: development
create_timestring · date-timeOptionnel

Date of creation.

Example: 2026-04-22 20:30:52.283949
last_updatedstring · date-timeOptionnel

Date of last update.

Example: 2026-04-22 20:30:52.283949
get/v1/deployments/{deployment_id}/tags/{tag_name}
GET /v1/deployments/{deployment_id}/tags/{tag_name} HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "name": "development",
  "create_time": "2026-04-22 20:30:52.283949",
  "last_updated": "2026-04-22 20:30:52.283949"
}

List Tags

get

List tags from the specified deployment.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: f68e011bfb01
Paramètres de requête
pageinteger · min: 1OptionnelExample: 2
limitinteger · min: 1OptionnelExample: 20
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
200

Success

application/json
total_countintegerRequisExample: 100
get/v1/deployments/{deployment_id}/tags
GET /v1/deployments/{deployment_id}/tags HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*
{
  "tags": [
    {
      "name": "development",
      "create_time": "2026-04-22 20:30:52.283949",
      "last_updated": "2026-04-22 20:30:52.283949"
    }
  ],
  "total_count": 100,
  "pagination": {
    "number": 1,
    "next_page_number": 2,
    "previous_page_number": 1,
    "paginator": {
      "num_pages": 10
    },
    "has_next": true,
    "has_previous": false
  }
}

Update Tag

patch

Update a tag for the specified deployment. Does not modify injected variables.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: f68e011bfb01
tag_namestringRequisExample: player-id-1234
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Corps
namestring · min: 1 · max: 40Requis

Name of the tag.

Example: development
Réponses
200

Success

application/json
namestring · min: 1 · max: 40Requis

Name of the tag.

Example: development
create_timestring · date-timeOptionnel

Date of creation.

Example: 2026-04-22 20:30:52.283949
last_updatedstring · date-timeOptionnel

Date of last update.

Example: 2026-04-22 20:30:52.283949
patch/v1/deployments/{deployment_id}/tags/{tag_name}
PATCH /v1/deployments/{deployment_id}/tags/{tag_name} HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "name": "development"
}
{
  "name": "development",
  "create_time": "2026-04-22 20:30:52.283949",
  "last_updated": "2026-04-22 20:30:52.283949"
}

Delete Tag

delete

Delete a tag for a deployment. Does not modify injected variables.

Autorisations
AuthorizationstringRequis
Paramètres de chemin
deployment_idstringRequisExample: f68e011bfb01
tag_namestringRequisExample: player-id-1234
Paramètres d'en-tête
AcceptstringOptionnelExample: */*
Content-TypestringRequisExample: application/json
Réponses
204

No Content

Aucun contenu

delete/v1/deployments/{deployment_id}/tags/{tag_name}
DELETE /v1/deployments/{deployment_id}/tags/{tag_name} HTTP/1.1
Host: api.edgegap.com
Authorization: YOUR_API_KEY
Content-Type: text
Accept: */*

Aucun contenu

Mis à jour

Ce contenu vous a-t-il été utile ?