---
title: "Get pending ownership transfer"
method: GET
path: "/api/apps/{app_id}/ownership/transfer/pending"
---

# Get pending ownership transfer

`GET /api/apps/{app_id}/ownership/transfer/pending`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/apps/{app_id}/ownership/transfer/pending`
- Auth: HTTP bearer

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

Returns the app's pending ownership transfer, or `null` in `transfer` when it has none.

A transfer starts when the app's owner or a workspace admin invites a new owner by email, with [Start ownership transfer](/api-reference/start-ownership-transfer) or in the builder. The recipient gets an email with a link, and the transfer completes only once they sign in and accept it. Nothing about the app changes until then. An invitation expires 7 days after it's sent. An expired invitation isn't returned. Send it again with [Resend ownership transfer](/api-reference/resend-ownership-transfer), or withdraw it with [Cancel ownership transfer](/api-reference/cancel-ownership-transfer).

You need to own the app or be an owner or admin of its workspace. A workspace admin who doesn't own the app also needs an Enterprise workspace or approved partner status. For a transfer to someone outside the workspace, the owner has to be a workspace owner or admin too, with the same Enterprise or partner requirement.

This is limited to 120 requests a minute per workspace. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key, including a read-only key. Workspace API keys are not accepted.</Note>

## Path parameters

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

## Response `200`

The app's pending transfer, if any.

- PendingOwnershipTransferResponse: The app's pending ownership transfer, if it has one.
  - `transfer` PendingOwnershipTransfer, required: An ownership transfer waiting for its recipient to accept it.
    - `id` string, required: ID of the ownership transfer.
    - `app_id` string, required: ID of the app being transferred.
    - `new_owner_email` string, required: Email address the transfer invitation was sent to.
    - `status` string, required: Either `pending`, while the invitation waits for the recipient, or `accepting`, while the recipient's acceptance is being applied.
    - `expires_at` string, required: When the invitation expires, as a UTC timestamp in ISO 8601 format. The recipient can't accept it after that.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: You can't manage ownership transfers for this app, or you used a workspace API key.
- `404`: The app doesn't exist, or it's outside the workspace or apps your API key is scoped to.
- `429`: Rate limit reached. Retry later.

## Changes

> 58 revisions in range; 1 not diffed.

- **2026-10-13** `b92cc2f13639`: 2 info
  - the security scope `read_only` was added to the endpoint's security scheme `PersonalAccessTokenAuth`
  - the security scope `full_access` was removed from the endpoint's security scheme `PersonalAccessTokenAuth`
- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-09-28** `347e2afcf94a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/apps/:app_id/ownership/transfer/pending/get.md)

---

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