Upload a piece of a package file
const url = 'https://api.gampeon.com/v1/projects/example/packages/example/example/files/example?offset=1';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/octet-stream'}, body: 'binary'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url 'https://api.gampeon.com/v1/projects/example/packages/example/example/files/example?offset=1' \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/octet-stream' \ --data binarySend the file in pieces of at most chunkBytes (64 MB) in order. offset must equal the bytes the server has (received); after an interruption, read GET …/packages and continue there. With the last piece the server checks the SHA-256 and, for the .uplugin, that it has no code modules. Files that GAMPEON already has from an earlier version answer done: true right away.
Not available with access tokens.
Rate limit: 2000 per hour per account.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Project slug
Package name, as the Unreal plugin
Package version, such as 1.0.0
SHA-256 of the file, 64 lowercase hex characters
Query Parameters
Section titled “Query Parameters”Byte position of this piece in the file
Request Bodyrequired
Section titled “Request Bodyrequired”The bytes of this piece
Responses
Section titled “Responses”Piece stored
object
Example generated
{ "received": 1, "size": 1, "done": true}Error codes: upload_aborted, upload_incomplete
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: unauthorized
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: token_not_allowed
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: not_found
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: offset_mismatch, version_ready
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: length_required
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: chunk_too_large
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: checksum_mismatch, invalid_package
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Limit: 2000 per hour per account. Error codes: rate_limited
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: packages_unavailable
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}Error codes: storage_full
object
Machine-readable error code, for example not_found or rate_limited.
Human-readable detail. Only present for some errors.
Example generated
{ "error": "example", "message": "example"}