Create Application
Create a static-hosting application. An application is the content unit; deploy files to it (upload or git) and expose it with an agentless endpoint. To do all of that in one call, use Quick Deploy instead.
With source: "upload" the app starts empty — upload a .zip next. With source: "git" the repo is connected and the first deploy is enqueued automatically. Requires the application_hosting entitlement.
Request body
name string
Required. Unique within the account (1–255 chars).
source string
upload (default) or git.repo_url string
Required for
git. A github.com / gitlab.com URL.branch string
Git only. Default
main.git_token string
Git only, optional. Token for private repos; encrypted at rest.
Response (201 Created)
uuid string
Stable identifier used in every other
/applications/{uuid} URL.name string
The application name.
type string
Always
static.source string
upload or git.current_deploy_id int64 | null
The live deploy, or
null until the first build is ready.publish_dir string
Site-root subfolder (empty = archive root).
index_document string
Directory index, default
index.html.spa_fallback boolean
Serve the index for unmatched paths (SPA routing).
git object | absent
For git apps:
{provider, repo_url, owner, repo, branch, auto_deploy} (token + secret redacted).Errors
400
Missing/too-long name, bad
source, or an invalid repo_url.403
application_hosting not entitled, or the
applications_max quota is reached.409
An application with that name already exists.
Request — upload source
curl -X POST "https://api.ngris.com/v1/applications" \
-H "X-API-KEY: <your_api_key>" \
-H "Content-Type: application/json" \
-d '{ "name": "my-site", "source": "upload" }'
Request — git source
curl -X POST "https://api.ngris.com/v1/applications" \
-H "X-API-KEY: <your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "my-site",
"source": "git",
"repo_url": "https://github.com/acme/site",
"branch": "main"
}'
Response — 201 Created
{
"uuid": "a1b2c3d4-…",
"name": "my-site",
"type": "static",
"source": "git",
"current_deploy_id": null,
"publish_dir": "",
"index_document": "index.html",
"spa_fallback": false,
"git": { "provider": "github", "repo_url": "https://github.com/acme/site", "branch": "main", "auto_deploy": true },
"created_at": "2026-07-28T12:00:00Z"
}