Skip to content
GAMPEONCreate
New project

Start the upload of a package version

POST
/v1/projects/{slug}/packages
curl --request POST \
--url https://api.gampeon.com/v1/projects/example/packages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "manifest": { "name": "example", "version": "example", "engine": "example", "files": [ { "path": "example", "size": 1, "sha256": "example" } ] }, "licenseConfirmed": true }'

Send the manifest from gampeon-package.json, which the GAMPEON cook command writes, and confirm your license (licenseConfirmed: true, text in GET …/packages). Only content: the .uplugin must not have code modules, and only cooked paks (Content/Paks/<platform>/*.pak|utoc|ucas|sig) and files for web interfaces (Nui/…) are allowed. Sending the same manifest again continues an unfinished upload.

Not available with access tokens.

Rate limit: 30 per hour per account.

slug
required
string

Project slug

Media typeapplication/json
object
manifest
required
object
name
required

Package name, the name of the content plugin

string
/^[A-Za-z][A-Za-z0-9_]{1,47}$/
version
required

Version, such as 1.0.0. Each upload needs a new version.

string
/^\d{1,4}\.\d{1,4}\.\d{1,6}$/
engine
required

The GAMPEON version the package was cooked for

string
/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/
files
required

All files of the package, 1 to 256

Array<object>
>= 1 items <= 256 items
object
path
required

Path inside the package, such as GamCity.uplugin, Content/Paks/WindowsClient/GamCity….pak or Nui/icons/cash.png

string
size
required

Bytes

integer
>= 1
sha256
required

SHA-256, 64 hex characters

string
licenseConfirmed
required

You confirm the license statement

Version created (200: unfinished upload continued)

Media typeapplication/json
object
name
required
string
version
required
string
engine
required
string
status
required

ready once every file is uploaded and finish was called. Only ready versions reach players.

Allowed values: uploading ready
size
required

Bytes of all files

integer
received
required

Bytes uploaded so far

integer
files
required
Array<object>
object
path
required
string
size
required
integer
sha256
required
string
received
required

Bytes of this file uploaded so far

integer
done
required
boolean
createdAt
required

Unix time in milliseconds

integer format: int64
readyAt
required
One of:

Unix time in milliseconds

integer format: int64

Example

{
"status": "uploading"
}

Error codes: invalid_field, invalid_package, invalid_package_file, license_not_confirmed

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: unauthorized

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: token_not_allowed, project_hidden

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: not_found

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: version_exists

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: package_too_large, quota_exceeded

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Limit: 30 per hour per account. Error codes: rate_limited

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: packages_unavailable

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Report a problem with this pageOther ways to give feedback