---
title: "Add a new app"
method: POST
path: "/fastedge/v1/apps"
tags: ["Apps"]
---

# Add a new app

`POST /fastedge/v1/apps`

Create a new edge application from a WebAssembly binary.
The app is configured with execution limits, environment variables, and network assignments.
Apps start in draft status (0) and must be explicitly enabled to receive traffic.

## Request body

- App
  - `name` string — Unique application name (alphanumeric, hyphens allowed)
  - `url` string — Auto-generated URL where the application is accessible
  - `binary` integer — ID of the WebAssembly binary to deploy
  - `template` integer — Template ID
  - `template_name` string — Template name
  - `status` integer — Status code: 0 - draft (inactive) 1 - enabled 2 - disabled 5 - suspended
  - `plan_id` integer — Plan ID
  - `plan` string — Plan name
  - `env` object — Environment variables
  - `rsp_headers` object — Extra headers to add to the response
  - `log` 'kafka' | 'none', nullable
  - `debug` boolean — Enable verbose debug logging for 30 minutes. Automatically expires to prevent performance impact.
  - `debug_until` string, date-time — When debugging finishes
  - `comment` string — Optional human-readable description of the application's purpose
  - `api_type` string — Wasm API type
  - `networks` string[] — Networks
  - `secrets` object — Application secrets
  - `stores` object — Application edge stores

## Response `200`

Application created successfully, returns app metadata

- AppShort
  - `id` integer, required — App ID
  - `name` string, required — App name
  - `url` string — App URL
  - `status` integer, required — Status code: 0 - draft (inactive) 1 - enabled 2 - disabled 3 - hourly call limit exceeded 4 - daily call limit exceeded 5 - suspended
  - `binary` integer, required — Binary ID
  - `comment` string — Description of the binary
  - `api_type` string, required — Wasm API type
  - `debug_until` string, date-time — When debugging finishes
  - `debug` boolean — Switch on logging for 30 minutes (switched off by default)
  - `template` integer — Template ID
  - `template_name` string — Template name
  - `networks` string[] — Networks
  - `upgradeable_to` integer — ID of the binary the app can be upgraded to
  - `plan_id` integer, required — Application plan ID
  - `plan` string — Application plan name

## Other responses

- `400` — Bad request
- `429` — Application count limit exceeded for this client
- `503` — Service unavailable

---

[API](https://skmtc.net/g-core/apis/gcore-openapi.md) · [All operations](https://skmtc.net/g-core/apis/gcore-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/g-core/gcore-openapi/revisions/09e652815095/schema)
