---
title: "List All Versions for an Application"
method: GET
path: "/v1/app/{app_name}/versions"
tags: ["Applications"]
---

# List All Versions for an Application

`GET /v1/app/{app_name}/versions`

## Request

- Base URL: `https://api.edgegap.com`
- URL: `https://api.edgegap.com/v1/app/{app_name}/versions`
- Auth: API key in header `authorization`

List all versions of a specific application.

## Path parameters

- `app_name` string, required

## Response `200`

Success

- AppVersionList
  - `versions` AppVersionPayload[]
    - `name` string, required: This is the identifier for your version. It’s often linked to a build version, but can be any unique name.
    - `is_active` boolean: This boolean tells the system whether this version can be deployed or is deactivated.
    - `docker_repository` string, required: ‘docker_repository’ is named incorrectly, this property references the Docker registry where this version’s container image is hosted (e.g., ‘registry.edgegap.com’ or ‘docker.io’).
    - `docker_image` string, required: The Docker image for your version, usually including a namespace or project.
    - `docker_tag` string, required: The Docker tag for your version. It must be valid according to your Docker image.
    - `private_username` string: The username used to access your container registry. This is not your Edgegap account credential.
    - `private_token` string: The token or password used to access your container registry. This is not your Edgegap account password.
    - `req_cpu` integer, required: The number of vCPU units required to run your server container (1024 units = 1 vCPU).
    - `req_memory` integer, required: The amount of memory in MB required to run your server container (1024 MB = 1 GB). It can be at most twice the number of vCPU units requested.
    - `req_video` integer: Units of GPU needed (1024 = 1 GPU)
    - `max_duration` integer: The maximum duration in minutes the app version can run before being automatically stopped. If omitted, the default is 1440 minutes (24 hours).
    - `force_cache` boolean: Enable faster deployments by caching your container across all Edgegap locations. Recommended for live games.
    - `caching_percent` number: Current caching percentage on scale 0-1, with 1 meaning 100% global cache coverage. Values above 0.8 are considered to be a good caching coverage level.
    - `kind` string: Specifies whether the app version is a default or session-based version (e.g., “default” or “session”).
    - `time_to_deploy` integer: Time in seconds to wait for the app version to deploy before marking it as failed. Useful for enforcing strict deployment time limits.
    - `session_config` AppVersionCreateSessionConfig
      - `kind` 'Default' | 'Seat' | 'Match', required: The kind of session to create. If 'Default' if chosen, the 'session_config' will be ignored. The kind of session must be: Default, Seat, Match
      - `sockets` integer, required: With seats, each player in a session occupies one socket slot. With matches, each session occupies one socket slot in the deployment, regardless of the number of players.
      - `autodeploy` boolean: If the system should automatically creates a deployment of this app version when a session is created and no sockets are available in existing deployments.
      - `empty_ttl` integer: The number of minutes a session deployment can remain empty before being automatically terminated. A deployment is considered empty when its socket count is zero.
      - `session_max_duration` integer: (DEPRECATED)
    - `ports` AppVersionPort[]
      - `port` integer, required: The port number to expose for the application. At least one port is required to accept client connections. Use 0 for 1:1 port mapping, which will assign a random port number at deployment time, this must be handled by the application.
      - `protocol` string, required: Available protocols: TCP, UDP, TCP/UDP, HTTP, HTTPS, WS or WSS
      - `to_check` boolean: Specifies whether the port must pass our validation checks. If validation fails, the deployment will be marked as an error.
      - `tls_upgrade` boolean: When set to true, the port will be upgraded to TLS if using HTTP or WS.
      - `name` string: An optional name for the port to simplify management. Required if using port 0 for 1:1 port mapping.
    - `envs` AppVersionEnv[]: Environment variables to be set in the container for each deployment.
      - `key` string, required: The key name for the environment variable to be set in the container.
      - `value` string, required: The value assigned to the specified environment variable key.
      - `is_secret` boolean: This will encrypt the value in our database and prevent it from being readable by any external source.
    - `verify_image` boolean: By enabling the verify_image option, your image information (docker_repository, docker_image, docker_tag) will be tested to ensure the image can be pulled successfully.
    - `termination_grace_period_seconds` integer: Termination grace period in seconds after sending the SIGTERM signal to the container. Allows graceful shutdown and post-processing before the container stops.
    - `endpoint_storage` string: The name of the endpoint storage to use to store the container logs at the end of the deployment. This will overwrite the default storage in the app version.
    - `command` string, nullable: Entrypoint/command override for your container. This replaces the default command and should be used with caution.
    - `arguments` string, nullable: Arguments to pass to the container’s command. This replace the default arguments and should be used with caution
    - `create_time` string, date-time: The creation time of the app version
    - `last_updated` string, date-time: The last update time of the app version
    - `dns_config` string: The name of the DNS configuration to link with your deployment.
    - `will_deploy_in_mainland_china` boolean: If true, the app version will only be deployed in Mainland China locations. Otherwise, it will never deploy in Mainland China locations.
    - `restart_policy` 'always' | 'never' | 'on_failure': The restart policy for the deployment. The default is to always restart unless you terminate the deployment.
  - `total_count` integer

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/edgegap/apis/edgegap-v1.md) · [All operations](https://skmtc.dev/edgegap/apis/edgegap-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/edgegap/apis/edgegap-v1/revisions/9fa2b393a6be?raw)
