Integration

📦 Applications

Create a New Application

post

Create an application that will regroup application versions.

Authorizations
Body
namestring · min: 1 · max: 64Required

The application name

Example: Example App
is_activebooleanRequired

If the application can be deployed

Example: true
is_telemetry_agent_activebooleanOptional

If the telemetry agent is installed on the versions of this app.

imagestringRequired

Image base64 string

Example: iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg==
Responses
200
Success
application/json
post
POST /v1/app HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 128

{
  "name": "Example App",
  "is_active": true,
  "is_telemetry_agent_active": false,
  "image": "iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg=="
}
{
  "name": "Example App",
  "is_active": true,
  "is_telemetry_agent_active": false,
  "image": "iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg==",
  "create_time": "2025-07-05 12:00:39.088042",
  "last_updated": "2025-07-05 12:00:39.088042"
}

Update an Application

patch

Update an application with new information.

Authorizations
Path parameters
app_nameanyRequired
Body
namestring · min: 3 · max: 64Optional

Application name

Example: Example App
is_activebooleanOptional

If the application can be deployed

Example: true
is_telemetry_agent_activebooleanOptional

If the telemetry agent is installed on the versions of this app.

imagestringOptional

Image base64 string

Example: iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg==
Responses
200
Success
application/json
patch
PATCH /v1/app/{app_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 128

{
  "name": "Example App",
  "is_active": true,
  "is_telemetry_agent_active": false,
  "image": "iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg=="
}
{
  "name": "Example App",
  "is_active": true,
  "is_telemetry_agent_active": false,
  "image": "iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg==",
  "create_time": "2025-07-05 12:00:39.088042",
  "last_updated": "2025-07-05 12:00:39.088042"
}

Get an Application

get

Retrieve an application and its information.

Authorizations
Path parameters
app_nameanyRequired
Responses
200
Success
application/json
get
GET /v1/app/{app_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "name": "Example App",
  "is_active": true,
  "is_telemetry_agent_active": false,
  "image": "iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg==",
  "create_time": "2025-07-05 12:00:39.088042",
  "last_updated": "2025-07-05 12:00:39.088042"
}

Delete an Application

delete

Delete an application and all its current versions.

Authorizations
Path parameters
app_nameanyRequired
Responses
200
Success
delete
DELETE /v1/app/{app_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*

No content

Create a New Application Version

post

Create an application version associated with an application. The version contains all the specifications to create a deployment.

Authorizations
Path parameters
app_namestringRequired

The name of the application associated

Body
namestring · min: 1 · max: 64Required

This is the identifier for your version. It’s often linked to a build version, but can be any unique name.

Example: 1.0.0
is_activebooleanOptional

This boolean tells the system whether this version can be deployed or is deactivated.

Example: true
docker_repositorystringRequired

‘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’).

Example: docker.io
docker_imagestringRequired

The Docker image for your version, usually including a namespace or project.

Example: edgegap/lyrastartergame
docker_tagstringRequired

The Docker tag for your version. It must be valid according to your Docker image.

Example: 25.05.30-16.45.19-04
private_usernamestringOptional

The username used to access your container registry. This is not your Edgegap account credential.

Example: my_username
private_tokenstringOptional

The token or password used to access your container registry. This is not your Edgegap account password.

Example: my_password
req_cpuinteger · min: 100Required

The number of vCPU units required to run your server container (1024 units = 1 vCPU).

Example: 1536
req_memoryinteger · min: 100Required

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.

Example: 3072
req_videointegerOptional

Units of GPU needed (1024 = 1 GPU)

max_durationintegerOptional

The maximum duration in minutes the app version can run before being automatically stopped. If omitted, the default is 1440 minutes (24 hours).

Example: 30
force_cachebooleanOptional

Enable faster deployments by caching your container across all Edgegap locations. Recommended for live games.

Example: true
time_to_deployinteger · min: 15Optional

Time in seconds to wait for the app version to deploy before marking it as failed. Useful for enforcing strict deployment time limits.

Example: 15
verify_imagebooleanOptional

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.

Default: falseExample: true
termination_grace_period_secondsinteger · min: 5 · max: 3600Optional

Termination grace period in seconds after sending the SIGTERM signal to the container. Allows graceful shutdown and post-processing before the container stops.

Example: 5
endpoint_storagestringOptional

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.

Example: my-storage
commandstring | nullOptional

Entrypoint/command override for your container. This replaces the default command and should be used with caution.

Example: null | 'string'
argumentsstring | nullOptional

Arguments to pass to the container’s command. This replace the default arguments and should be used with caution

Example: null | 'string'
dns_configstringOptional

The name of the DNS configuration to link with your deployment.

will_deploy_in_mainland_chinabooleanOptional

If true, the app version will only be deployed in Mainland China locations. Otherwise, it will never deploy in Mainland China locations.

Default: false
Responses
200
Success
application/json
post
POST /v1/app/{app_name}/version HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 775

{
  "name": "1.0.0",
  "is_active": true,
  "docker_repository": "docker.io",
  "docker_image": "edgegap/lyrastartergame",
  "docker_tag": "25.05.30-16.45.19-04",
  "private_username": "my_username",
  "private_token": "my_password",
  "req_cpu": 1536,
  "req_memory": 3072,
  "req_video": 0,
  "max_duration": 30,
  "force_cache": true,
  "time_to_deploy": 15,
  "session_config": {
    "kind": "Seat",
    "sockets": 10,
    "autodeploy": true,
    "empty_ttl": 60,
    "session_max_duration": 1
  },
  "ports": [
    {
      "port": 7777,
      "protocol": "UDP",
      "to_check": true,
      "tls_upgrade": false,
      "name": "game_port"
    }
  ],
  "envs": [
    {
      "key": "MAP_ID",
      "value": "forest1",
      "is_secret": true
    }
  ],
  "verify_image": true,
  "termination_grace_period_seconds": 5,
  "endpoint_storage": "my-storage",
  "command": "null | 'string'",
  "arguments": "null | 'string'",
  "dns_config": "text",
  "will_deploy_in_mainland_china": false
}
{
  "success": true,
  "version": {
    "name": "1.0.0",
    "is_active": true,
    "docker_repository": "docker.io",
    "docker_image": "edgegap/lyrastartergame",
    "docker_tag": "25.05.30-16.45.19-04",
    "private_username": "my_username",
    "private_token": "my_password",
    "req_cpu": 1536,
    "req_memory": 3072,
    "req_video": 0,
    "max_duration": 30,
    "force_cache": true,
    "kind": 0,
    "time_to_deploy": 15,
    "session_config": {
      "kind": "Seat",
      "sockets": 10,
      "autodeploy": true,
      "empty_ttl": 60,
      "session_max_duration": 1
    },
    "ports": [
      {
        "port": 7777,
        "protocol": "UDP",
        "to_check": true,
        "tls_upgrade": false,
        "name": "game_port"
      }
    ],
    "envs": [
      {
        "key": "MAP_ID",
        "value": "forest1",
        "is_secret": true
      }
    ],
    "verify_image": true,
    "termination_grace_period_seconds": 5,
    "endpoint_storage": "my-storage",
    "command": "null | 'string'",
    "arguments": "null | 'string'",
    "create_time": "2025-07-05T23:02:26.973Z",
    "last_updated": "2025-07-05T23:02:26.973Z",
    "dns_config": "text",
    "will_deploy_in_mainland_china": false
  }
}

Delete an Application Version

delete

Delete a specific version of an application.

Authorizations
Path parameters
app_namestringRequired

The name of the application

version_namestringRequired

The name of the application version

Responses
200
Success
application/json
delete
DELETE /v1/app/{app_name}/version/{version_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "success": true,
  "message": "text"
}

Get an Application Version

get

Retrieve the specifications of an application version.

Authorizations
Path parameters
app_namestringRequired

The name of the application

version_namestringRequired

The name of the application version

Responses
200
Success
application/json
get
GET /v1/app/{app_name}/version/{version_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "name": "1.0.0",
  "is_active": true,
  "docker_repository": "docker.io",
  "docker_image": "edgegap/lyrastartergame",
  "docker_tag": "25.05.30-16.45.19-04",
  "private_username": "my_username",
  "private_token": "my_password",
  "req_cpu": 1536,
  "req_memory": 3072,
  "req_video": 0,
  "max_duration": 30,
  "force_cache": true,
  "kind": 0,
  "time_to_deploy": 15,
  "session_config": {
    "kind": "Seat",
    "sockets": 10,
    "autodeploy": true,
    "empty_ttl": 60,
    "session_max_duration": 1
  },
  "ports": [
    {
      "port": 7777,
      "protocol": "UDP",
      "to_check": true,
      "tls_upgrade": false,
      "name": "game_port"
    }
  ],
  "envs": [
    {
      "key": "MAP_ID",
      "value": "forest1",
      "is_secret": true
    }
  ],
  "verify_image": true,
  "termination_grace_period_seconds": 5,
  "endpoint_storage": "my-storage",
  "command": "null | 'string'",
  "arguments": "null | 'string'",
  "create_time": "2025-07-05T23:02:26.973Z",
  "last_updated": "2025-07-05T23:02:26.973Z",
  "dns_config": "text",
  "will_deploy_in_mainland_china": false
}

Update an Application Version

patch

Update an application version with new specifications.

Authorizations
Path parameters
app_namestringRequired

The name of the application

version_namestringRequired

The name of the application version

Body
namestring · min: 1 · max: 64Optional

This is the identifier for your version. It’s often linked to a build version, but can be any unique name.

Example: 1.0.0
is_activebooleanOptional

This boolean tells the system whether this version can be deployed or is deactivated.

Example: true
docker_repositorystringOptional

‘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’).

Example: docker.io
docker_imagestringOptional

The Docker image for your version, usually including a namespace or project.

Example: edgegap/lyrastartergame
docker_tagstringOptional

The Docker tag for your version. It must be valid according to your Docker image.

Example: 25.05.30-16.45.19-04
private_usernamestringOptional

The username used to access your container registry. This is not your Edgegap account credential.

Example: my_username
private_tokenstringOptional

The token or password used to access your container registry. This is not your Edgegap account password.

Example: my_password
max_durationinteger | nullOptional

The maximum duration in minutes the app version can run before being automatically stopped. If omitted, the default is 1440 minutes (24 hours).

Example: 30
force_cachebooleanOptional

Enable faster deployments by caching your container across all Edgegap locations. Recommended for live games.

Example: true
time_to_deployinteger · min: 15Optional

Time in seconds to wait for the app version to deploy before marking it as failed. Useful for enforcing strict deployment time limits.

Example: 15
termination_grace_period_secondsinteger · min: 5 · max: 3600Optional

Termination grace period in seconds after sending the SIGTERM signal to the container. Allows graceful shutdown and post-processing before the container stops.

Example: 5
verify_imagebooleanOptional

By enabling the verify_image option, your image infos (docker_repository, docker_image, docker_tag) will be tested.

Default: falseExample: true
endpoint_storagestringOptional

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.

Example: my-storage
commandstring | nullOptional

Entrypoint/command override for your container. This replaces the default command and should be used with caution.

Example: null | 'string'
argumentsstring | nullOptional

Arguments to pass to the container’s command. This replace the default arguments and should be used with caution

Example: null | 'string'
dns_configstringOptional

The name of the DNS configuration to link with your deployment.

will_deploy_in_mainland_chinabooleanOptional

If true, the app version will only be deployed in Mainland China locations. Otherwise, it will never deploy in Mainland China locations.

Default: false
Responses
200
Success
application/json
patch
PATCH /v1/app/{app_name}/version/{version_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 728

{
  "name": "1.0.0",
  "is_active": true,
  "docker_repository": "docker.io",
  "docker_image": "edgegap/lyrastartergame",
  "docker_tag": "25.05.30-16.45.19-04",
  "private_username": "my_username",
  "private_token": "my_password",
  "max_duration": 30,
  "force_cache": true,
  "time_to_deploy": 15,
  "session_config": {
    "kind": "Seat",
    "sockets": 10,
    "autodeploy": true,
    "empty_ttl": 60,
    "session_max_duration": 1
  },
  "ports": [
    {
      "port": 7777,
      "protocol": "UDP",
      "to_check": true,
      "tls_upgrade": false,
      "name": "game_port"
    }
  ],
  "envs": [
    {
      "key": "MAP_ID",
      "value": "forest1",
      "is_secret": true
    }
  ],
  "termination_grace_period_seconds": 5,
  "verify_image": true,
  "endpoint_storage": "my-storage",
  "command": "null | 'string'",
  "arguments": "null | 'string'",
  "dns_config": "text",
  "will_deploy_in_mainland_china": false
}
{
  "success": true,
  "version": {
    "name": "1.0.0",
    "is_active": true,
    "docker_repository": "docker.io",
    "docker_image": "edgegap/lyrastartergame",
    "docker_tag": "25.05.30-16.45.19-04",
    "private_username": "my_username",
    "private_token": "my_password",
    "req_cpu": 1536,
    "req_memory": 3072,
    "req_video": 0,
    "max_duration": 30,
    "force_cache": true,
    "kind": 0,
    "time_to_deploy": 15,
    "session_config": {
      "kind": "Seat",
      "sockets": 10,
      "autodeploy": true,
      "empty_ttl": 60,
      "session_max_duration": 1
    },
    "ports": [
      {
        "port": 7777,
        "protocol": "UDP",
        "to_check": true,
        "tls_upgrade": false,
        "name": "game_port"
      }
    ],
    "envs": [
      {
        "key": "MAP_ID",
        "value": "forest1",
        "is_secret": true
      }
    ],
    "verify_image": true,
    "termination_grace_period_seconds": 5,
    "endpoint_storage": "my-storage",
    "command": "null | 'string'",
    "arguments": "null | 'string'",
    "create_time": "2025-07-05T23:02:26.973Z",
    "last_updated": "2025-07-05T23:02:26.973Z",
    "dns_config": "text",
    "will_deploy_in_mainland_china": false
  }
}

List All Versions for an Application

get

List all versions of a specific application.

Authorizations
Path parameters
app_namestringRequired

The name of the application

Responses
200
Success
application/json
get
GET /v1/app/{app_name}/versions HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "versions": [
    {
      "name": "1.0.0",
      "is_active": true,
      "docker_repository": "docker.io",
      "docker_image": "edgegap/lyrastartergame",
      "docker_tag": "25.05.30-16.45.19-04",
      "private_username": "my_username",
      "private_token": "my_password",
      "req_cpu": 1536,
      "req_memory": 3072,
      "req_video": 0,
      "max_duration": 30,
      "force_cache": true,
      "kind": 0,
      "time_to_deploy": 15,
      "session_config": {
        "kind": "Seat",
        "sockets": 10,
        "autodeploy": true,
        "empty_ttl": 60,
        "session_max_duration": 1
      },
      "ports": [
        {
          "port": 7777,
          "protocol": "UDP",
          "to_check": true,
          "tls_upgrade": false,
          "name": "game_port"
        }
      ],
      "envs": [
        {
          "key": "MAP_ID",
          "value": "forest1",
          "is_secret": true
        }
      ],
      "verify_image": true,
      "termination_grace_period_seconds": 5,
      "endpoint_storage": "my-storage",
      "command": "null | 'string'",
      "arguments": "null | 'string'",
      "create_time": "2025-07-05T23:02:26.973Z",
      "last_updated": "2025-07-05T23:02:26.973Z",
      "dns_config": "text",
      "will_deploy_in_mainland_china": false
    }
  ],
  "total_count": 1
}

List All Applications

get

List all the applications that you own.

Authorizations
Responses
200
Success
application/json
get
GET /v1/apps HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "applications": [
    {
      "name": "Example App",
      "is_active": true,
      "is_telemetry_agent_active": false,
      "image": "iVBORw0KGgoAAAANSUhEUg[...]AAABJRU5ErkJggg==",
      "create_time": "2025-07-05 12:00:39.088042",
      "last_updated": "2025-07-05 12:00:39.088042"
    }
  ]
}

💾 Container Registry

List All Tags for a Registry Image

get

List all tags of a specific registry image.

Authorizations
Path parameters
image_namestringRequired

The name of the image

Responses
200
Success
application/json
get
GET /v1/container-registry/images/{image_name}/tags HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "data": [
    {
      "tag": "tag1",
      "last_push_at": "2025-07-05T23:02:26.973Z",
      "artifact": {
        "artifact_deleted": true,
        "remaining_tags": [
          "tag1",
          "tag2"
        ],
        "image_hash": "sha256:1234567890abcdef",
        "size_mb": 1
      }
    }
  ]
}

Delete Tag For a Registry Image

delete

Delete a single tag from a artifact in the registry.

Authorizations
Path parameters
image_namestringRequired

The name of the image

tag_namestringRequired

The name of the tag

Responses
200
Success
application/json
delete
DELETE /v1/container-registry/images/{image_name}/tags/{tag_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "artifact": {
    "artifact_deleted": true,
    "size_mb": 1,
    "remaining_tags": [
      "text"
    ],
    "image_hash": "text"
  },
  "deleted_tag": "text"
}

🗒️ Log Storage

Create a New Endpoint Storage

post

Create an endpoint storage to store your container logs at the end of a deployment.

Authorizations
Body
namestringRequired

Name of the Endpoint Storage

Example: my-s3-bucket
access_key_idstringRequired

Your access key ID to connect to your S3 Bucket.

Example: my-access-key-id
endpointstringRequired

Full URL to your S3 Bucket with https or http. It's recommended to not include your bucket name as a subdomain

Example: https://us-east-1.your-s3-provider.com
bucketstringRequired

Your secret access key to connect to your S3 Bucket. Will be encrypted.

Example: my-bucket
output_formatstring · enumOptional

The format how the logs will be exported to the bucket.

Default: TEXTExample: NDJSONPossible values:
secret_access_keystringRequired

Your secret access key to connect to your S3 Bucket. Will be encrypted.

Example: my-secret-access
Responses
200
Success
application/json
post
POST /v1/storage/endpoint HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 195

{
  "name": "my-s3-bucket",
  "access_key_id": "my-access-key-id",
  "endpoint": "https://us-east-1.your-s3-provider.com",
  "bucket": "my-bucket",
  "output_format": "NDJSON",
  "secret_access_key": "my-secret-access"
}
{
  "name": "my-s3-bucket",
  "access_key_id": "my-access-key-id",
  "endpoint": "https://us-east-1.your-s3-provider.com",
  "bucket": "my-bucket",
  "output_format": "NDJSON",
  "create_time": "2022-01-01 00:00:00.000000",
  "last_updated": "2022-01-01 00:00:00.000000"
}

Delete an Endpoint Storage

delete

Delete an endpoint storage. All the application versions linked to it won't be able to store logs anymore.

Authorizations
Path parameters
endpoint_nameanyRequired
Responses
204
No Content
delete
DELETE /v1/storage/endpoint/{endpoint_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*

No content

Get an Endpoint Storage

get

Retrieve an endpoint storage. The secret_access_key won't be displayed.

Authorizations
Path parameters
endpoint_nameanyRequired
Responses
200
Success
application/json
get
GET /v1/storage/endpoint/{endpoint_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "name": "my-s3-endpoint",
  "access_key_id": "my-access-key-id",
  "endpoint": "https://us-east-1.your-s3-provider.com",
  "bucket": "my-bucket",
  "output_format": "NDJSON",
  "create_time": "2022-01-01 00:00:00.000000",
  "last_updated": "2022-01-01 00:00:00.000000"
}

Update an Endpoint Storage

patch

Update an Endpoint Storage with new specifications.

Authorizations
Path parameters
endpoint_nameanyRequired
Body
namestringOptional

Name of the Endpoint Storage

Example: my-s3-endpoint
access_key_idstringOptional

Your access key ID to connect to your S3 Bucket.

Example: my-access-key-id
endpointstringOptional

Full URL to your S3 Bucket with https or http. It's recommended to not include your bucket name as a subdomain

Example: https://us-east-1.your-s3-provider.com
bucketstringOptional

Your secret access key to connect to your S3 Bucket. Will be encrypted.

Example: my-bucket
output_formatstring · enumOptional

The format how the logs will be exported to the bucket.

Default: TEXTExample: NDJSONPossible values:
secret_access_keystringOptional

Your secret access key to connect to your S3 Bucket. Will be encrypted.

Example: my-secret-access
Responses
200
Success
application/json
patch
PATCH /v1/storage/endpoint/{endpoint_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 197

{
  "name": "my-s3-endpoint",
  "access_key_id": "my-access-key-id",
  "endpoint": "https://us-east-1.your-s3-provider.com",
  "bucket": "my-bucket",
  "output_format": "NDJSON",
  "secret_access_key": "my-secret-access"
}
{
  "name": "my-s3-endpoint",
  "access_key_id": "my-access-key-id",
  "endpoint": "https://us-east-1.your-s3-provider.com",
  "bucket": "my-bucket",
  "output_format": "NDJSON",
  "create_time": "2022-01-01 00:00:00.000000",
  "last_updated": "2022-01-01 00:00:00.000000"
}

Create a New Pull Profile

post

Create a pull profile. Pull profile will upload data from an endpoint storage to a deployment container on boot. You must link the application version to the pull profile first.

Authorizations
Path parameters
endpoint_nameanyRequired
Body
namestringRequired

Name of the pull profile

Example: pull_profile_name
sourcestringRequired

Source in the S3 bucket to fetch from

Example: /my-bucket/config.cfg
source_typestring · enumRequired

If the source is a File or a Directory

Example: FilePossible values:
destinationstringRequired

Destination path where your source will be uploaded in your container. Make sure to avoid protected destinations, such as /etc/, as this will prevent the files from being copied to your deployment, and will make your deployment fail. Make sure a normal user can write to the destination folder.

Example: /usr/share/configs
Responses
200
Success
application/json
post
POST /v1/storage/endpoint/{endpoint_name}/pull-profile HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 117

{
  "name": "pull_profile_name",
  "source": "/my-bucket/config.cfg",
  "source_type": "File",
  "destination": "/usr/share/configs"
}
{
  "name": "pull_profile_name",
  "source": "/my-bucket/config.cfg",
  "source_type": "File",
  "destination": "/usr/share/configs",
  "create_time": "2022-01-01 00:00:00.000000",
  "last_updated": "2022-01-01 00:00:00.000000"
}

Delete a Pull Profile

delete

Delete a pull profile. All the application versions linked won't receive the data upload anymore. It will not delete your endpoint storage.

Authorizations
Path parameters
endpoint_nameanyRequired
pull_profile_nameanyRequired
Responses
204
No Content
delete
DELETE /v1/storage/endpoint/{endpoint_name}/pull-profile/{pull_profile_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*

No content

Get a Pull Profile

get

Retrieve a pull profile and its specifications.

Authorizations
Path parameters
endpoint_nameanyRequired
pull_profile_nameanyRequired
Responses
200
Success
application/json
get
GET /v1/storage/endpoint/{endpoint_name}/pull-profile/{pull_profile_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "name": "pull_profile_name",
  "source": "/my-bucket/config.cfg",
  "source_type": "File",
  "destination": "/usr/share/configs",
  "create_time": "2022-01-01 00:00:00.000000",
  "last_updated": "2022-01-01 00:00:00.000000"
}

Update a Pull Profile

patch

Update a pull profile with new specifications.

Authorizations
Path parameters
endpoint_nameanyRequired
pull_profile_nameanyRequired
Body
namestringOptional

Name of the pull profile

Example: pull_profile_name
sourcestringOptional

Source in the S3 bucket to fetch from

Example: /my-bucket/config.cfg
source_typestring · enumOptional

If the source is a File or a Directory

Example: FilePossible values:
destinationstringOptional

Destination path where your source will be uploaded in your container. Make sure to avoid protected destinations, such as /etc/, as this will prevent the files from being copied to your deployment, and will make your deployment fail. Make sure a normal user can write to the destination folder.

Example: /usr/share/configs
Responses
200
Success
application/json
patch
PATCH /v1/storage/endpoint/{endpoint_name}/pull-profile/{pull_profile_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 117

{
  "name": "pull_profile_name",
  "source": "/my-bucket/config.cfg",
  "source_type": "File",
  "destination": "/usr/share/configs"
}
{
  "name": "pull_profile_name",
  "source": "/my-bucket/config.cfg",
  "source_type": "File",
  "destination": "/usr/share/configs",
  "create_time": "2022-01-01 00:00:00.000000",
  "last_updated": "2022-01-01 00:00:00.000000"
}

Link a Pull Profile to an Application Version

put

Link a pull profile to an app version. Without a link, the pull profile by itself will do nothing.

Authorizations
Path parameters
endpoint_nameanyRequired
pull_profile_nameanyRequired
app_nameanyRequired
version_nameanyRequired
Responses
200
Success
application/json
put
PUT /v1/storage/endpoint/{endpoint_name}/pull-profile/{pull_profile_name}/app/{app_name}/version/{version_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "app": "app_name",
  "app_version": "version_name",
  "endpoint": "endpoint_name",
  "pull_profile": "pull_profile_name",
  "create_time": "2022-01-01 00:00:00.000000",
  "last_updated": "2022-01-01 00:00:00.000000"
}

Unlink a Pull Profile From an Application Version

delete

Unlink a pull profile from an app version. It will not delete the pull profile.

Authorizations
Path parameters
endpoint_nameanyRequired
pull_profile_nameanyRequired
app_nameanyRequired
version_nameanyRequired
Responses
204
Success
delete
DELETE /v1/storage/endpoint/{endpoint_name}/pull-profile/{pull_profile_name}/app/{app_name}/version/{version_name} HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*

No content

List All Pull Profile of an Endpoint Storage

get

List all pull profiles of an endpoint storage.

Authorizations
Path parameters
endpoint_nameanyRequired
Query parameters
pageintegerOptional

Page number for pagination

limitintegerOptional

Limit of pull profiles for each page

Responses
200
Success
application/json
get
GET /v1/storage/endpoint/{endpoint_name}/pull-profiles HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "pull_profiles": [
    {
      "name": "pull_profile_name",
      "source": "/my-bucket/config.cfg",
      "source_type": "File",
      "destination": "/usr/share/configs",
      "create_time": "2022-01-01 00:00:00.000000",
      "last_updated": "2022-01-01 00:00:00.000000"
    }
  ],
  "pagination": {
    "number": 1,
    "next_page_number": 1,
    "previous_page_number": 1,
    "paginator": {
      "num_pages": 1
    },
    "has_next": true,
    "has_previous": true
  }
}

List All Endpoint Storage

get

List all endpoint storage.

Authorizations
Query parameters
pageintegerOptional

Page number for pagination

limitintegerOptional

Limit of Fleet for each page

Header parameters
X-Fieldsstring · maskOptional

An optional fields mask

Responses
200
Success
application/json
get
GET /v1/storage/endpoints HTTP/1.1
Host: api.edgegap.com
authorization: YOUR_API_KEY
Accept: */*
{
  "endpoints": [
    {
      "name": "my-s3-endpoint",
      "access_key_id": "my-access-key-id",
      "endpoint": "https://us-east-1.your-s3-provider.com",
      "bucket": "my-bucket",
      "output_format": "NDJSON",
      "create_time": "2022-01-01 00:00:00.000000",
      "last_updated": "2022-01-01 00:00:00.000000"
    }
  ],
  "pagination": {
    "number": 1,
    "next_page_number": 1,
    "previous_page_number": 1,
    "paginator": {
      "num_pages": 1
    },
    "has_next": true,
    "has_previous": true
  }
}

Last updated

Was this helpful?