/organizations/{source_org_id}/programs/transferTransfer programs between organizations
Transfers selected programs, identified by their IDs, from your organization to another specified organization.
Quick start
curl "https://api.optitech.com/v1/organizations/$SOURCE_ORG_ID/programs/transfer" \
-X POST \
-H "Authorization: Bearer $OPTITECH_API_KEY"import { createOptiTechClient, raw } from '@optitech/sdk';
const optitech = createOptiTechClient({ apiKey: process.env.OPTITECH_API_KEY });
const { data } = await raw.transferProjectsFromOrgToOrg({
client: optitech.client,
path: {
source_org_id: process.env.SOURCE_ORG_ID
}
});Parameters
source_org_idThe OptiTech organization ID (source org, which currently owns the program)
Request body
2 required Required: destination_org_id, program_ids.
destination_org_idThe destination organization identifier
program_idsThe list of programs ids to transfer. Maximum of 400 program ids
Response
200Programs successfully transferred from organization to organization
No example available.
Errors
Transfer failed - the target organization has too many programs or its plan is incompatible with the source organization. Reduce programs or upgrade the organization.
One or more of the provided program IDs have GitHub or Vercel integrations installed. Transferring integration programs is currently not supported
General error
This endpoint can return the standard OptiTech API error response.
Response fields
messageRequired. Human-readable error message.codeRequired. Machine-readable error code.request_idOptional. Request identifier for debugging. You can provide one with theX-Request-IDheader.
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.