---
title: "Request deploy approval"
method: POST
path: "/api/apps/{app_id}/request-deploy"
---

# Request deploy approval

`POST /api/apps/{app_id}/request-deploy`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/apps/{app_id}/request-deploy`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Asks the owners and admins of the app's workspace to publish the app for you, with the visibility you want. Use it when your workspace's publishing policy doesn't let you [deploy the app](/api-reference/deploy-an-app) yourself.

Every active owner, and every admin allowed to publish, except you, gets an in-app notification and an email naming the app, the visibility you asked for, and your `message`. Base44 also records the request as pending until the app is published. The call doesn't publish anything or check whether you could have published the app yourself.

Repeating the request within 60 seconds notifies no one and returns `deduped` set to `true`. After that, the same request notifies the approvers again.

Requests are made on main only, so naming a branch in `branch_id` returns a 409.

This is limited to 5 requests per minute per app for each workspace's personal API keys, so every key in a workspace shares one allowance. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app. A read-only key is refused, and workspace API keys are not accepted.</Note>

## Path parameters

- `app_id` string, required: ID of the app you want published.

## Query parameters

- `branch_id` string: ID of the branch to work on, as returned by [List branches](/api-reference/list-branches). Omit it to work on the app's main branch.

## Request body

- RequestDeployRequest
  - `requested_visibility` 'private_with_login' | 'workspace_with_login' | 'public_with_login' | 'public_without_login', required: Who you're asking to be able to open the published app. The values are the ones `public_settings` takes in [Update app](/api-reference/update-app).
  - `message` string, nullable: A note to the approvers, up to 1000 characters. It's included in the notification and the email.

## Response `200`

The approvers were notified, or the request was a repeat.

- DeployApprovalRequested: The approvers Base44 notified.
  - `recipients_notified` integer, required: Number of workspace owners and admins sent the request. `0` when `deduped` is `true`.
  - `deduped` boolean, required: Whether the call was a repeat of your request from the last 60 seconds, so no one was notified again.

## Other responses

- `400`: This kind of app can't be published yet.
- `401`: Missing or invalid credentials.
- `403`: You don't have editor access to this app, the app is blocked, your API key is read-only, or you used a workspace API key.
- `404`: App not found, or no branch you can see has this `branch_id`.
- `409`: No one else in the app's workspace can approve the request, for example because you're its only owner, or `branch_id` names a branch (`extra_data.reason` is `operation_blocked_on_branch`).
- `422`: `requested_visibility` is missing or isn't one of the four values, or `message` is longer than 1000 characters.
- `429`: Rate limit exceeded. The base limit is 5 requests per minute per app. Wait the number of seconds in the `Retry-After` header before you retry.

## Changes

- **2026-10-25** `01a81637ecfa`: 1 info
  - added the new optional `query` request parameter `branch_id`
- **2026-10-11** `80287813ab84`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-10-10** `fc604cdcc3a2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/idealspot/apis/base44-app-management-api/changes/api/apps/:app_id/request-deploy/post.md)

---

[API](https://skmtc.dev/idealspot/apis/base44-app-management-api.md) - [All operations](https://skmtc.dev/idealspot/apis/base44-app-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/idealspot/apis/base44-app-management-api/revisions/b5b4ebd82a1e?raw)
