Skip to main content

Apps - Download app

Route URL

POST https://playcanvas.com/api/apps/download

Description

This will allow you to download an app which you can self host on your own server. The request will start an export job and the job details will be returned in the response. You can poll the job by id until its status is either 'complete' or 'error'. When the job is done, its data will contain a URL to download the exported app.

Example

curl -H "Authorization: Bearer {accessToken}" -H "Content-Type: application/json" -X POST -d '{"project_id": 9999999, "scenes": [9999999], "name": "My App"}' "https://playcanvas.com/api/apps/download"

Parameters

NameTypeRequiredDescription
project_idnumber✔️The id of the project.
namestring✔️The name of the app. Must be less than 1000 characters.
scenesnumber[]✔️A list of scene ids to be included in the app. When you specify scenes then the first scene in the list will be used as the initial scene of the application.
branch_idstringThe id of the branch. If no id is specified the main branch will be used.
descriptionstringThe description of the app. Must be less than 10,000 characters.
versionstringThe version of the app. Can be a string up to 20 characters.
release_notesstringRelease notes for the app. Can be a string up to 10,000 characters.
scripts_concatenatebooleanSet it to true if you want scripts to be concatenated.
scripts_minifybooleanSet it to true if you want scripts to be minified. Defaults to true.
scripts_sourcemapsbooleanSet it to true if you want script sourcemaps to be generated. Defaults to false.
optimize_scene_formatbooleanSet it to true if you want scenes to be in an optimized format (see Optimize Scene Format for more information).
engine_versionstringSet it to a Engine version string (full list of releases) if a specific version is needed for the app.

Response Schema

Status: 201 Created
{
"status": "running" | "complete" | "error",
"messages": list of strings,
"created_at": date,
"modified_at": date,
"data": {
"concatenate": boolean,
"branch_id": string,
"optimize_scene_format": boolean,
"minify": boolean,
"name": string,
"sourcemaps": boolean,
"scenes": list of int scene ids,
"engineVersion": string,
"preload_bundle": boolean,
"project_id": int,
"owner_id": int
},
"id": int
}

Errors

CodeDescription
401Unauthorized
403Forbidden
404Project not found
404Owner not found
404Scene not found
429Too many requests

Rate Limiting

This route uses a strict rate limit.