---
title: "CreateAppBody"
description: "Request body for creating an App."
section: "Reference"
group: "Types"
order: 20
---

## Definition

```ts
interface CreateAppBody {
  workspaceId: string;
  name: string;
  description?: string | undefined;
  handle?: string | undefined;
  publicAccess?: boolean | undefined;
}
```

## Fields

| Field          | Type                   | Notes                                                                                                                         |
| -------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `workspaceId`  | `string`               | `required` — Workspace that will own the new app.                                                                             |
| `name`         | `string`               | `required` — App name                                                                                                         |
| `description`  | `string \| undefined`  | `optional` — App description                                                                                                  |
| `handle`       | `string \| undefined`  | `optional` — URL handle (auto-generated from name if omitted)                                                                 |
| `publicAccess` | `boolean \| undefined` | `optional` — When `true` (default), the deployed app is reachable without auth; when `false`, the route worker enforces auth. |
