Skip to main content
Neon Postgres Docs
current

Search documentation

Type to search this documentation.

On this pageOverview

Transfer projects between organizations

Transfers selected projects, identified by their IDs, from your organization to another specified organization.

POST /organizations/{source_org_id}/projects/transfer

Transfers selected projects, identified by their IDs, from your organization to another specified organization.

Markdown for AI context

REST API - curl
curl "https://console.neon.tech/api/v2/organizations/$SOURCE_ORG_ID/projects/transfer" \
  -X POST \
  -H "Authorization: Bearer $NEON_API_KEY"

Also available in

TypeScript
import { createNeonClient, raw } from '@neon/sdk';

const neon = createNeonClient({ apiKey: process.env.NEON_API_KEY });
const { data } = await raw.transferProjectsFromOrgToOrg({
  client: neon.client,
  path: {
    source_org_id: process.env.SOURCE_ORG_ID
  }
});

Console path: Organization → Settings → Transfer projects

Source org ID

source_org_id

string

The Neon organization ID (source org, which currently owns the project)

2 required Required: destination_org_id, project_ids.

Destination org ID

destination_org_id

string

The destination organization identifier

Project IDs

project_ids

array

The list of projects ids to transfer. Maximum of 400 project ids

200

Projects successfully transferred from organization to organization

No example available.

406

Transfer failed. The target organization has too many projects or an incompatible plan. Reduce projects or upgrade the target organization.

422

Transfer failed. Projects with active integrations (for example, GitHub or Vercel) cannot be transferred.

default

General error

This endpoint can return the standard Neon API error response.

Response fields

  • message Required. Human-readable error message.
  • code Required. Machine-readable error code.
  • request_id Optional. Request identifier for debugging. You can provide one with the X-Request-ID header.

Retry guidance

If no response is returned, the request may still have reached the server. This is why retry safety depends on the method and status code.

Idempotent methods (GET, HEAD, OPTIONS) are generally safe to retry after a network error or timeout. Non-idempotent methods (POST, PATCH, DELETE, PUT) can change state, so avoid automatic retries unless your workflow can tolerate duplicate effects.

Responses with 423 Locked or 503 Service Unavailable are safe to retry. 423 Locked means the resource is temporarily locked, usually because another operation is in progress.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu