PlatformOps

Move a business organization into a new tenant (Greentally staff only)

Requires partner.ops (API keys and impersonation sessions are always refused); 404 while PARTNERS_ENABLED is off. dryRun is required: true answers the plan and writes nothing; false records the move and runs it (planned, clerk_org_created, relinked, members_synced, done). A failed step answers 502 MOVE_STEP_FAILED with the move id and the state it stopped after; fix the cause and resume. Refusals answer 409 with the code (DEFAULT_ORGANIZATION, ORGANIZATION_ARCHIVED, MOVE_OPEN with the open move's id in details.moveId, DOCUMENT_JOB_RUNNING, REPORT_GENERATION_RUNNING, SUPPORT_ACCESS_OPEN, NO_MEMBERS, PARTNER_REQUIRED, UNSURVEYED_ACCOUNT_TABLE, CLERK_SLUG_TAKEN when the client slug belongs to a Clerk organization this move did not create). Audited (tenant_move.start, tenant_move.relink, tenant_move.sweep, tenant_move.done).

post/internal/tenant-moves

Request body

clientNamestring required
clientSlugstring
dryRunboolean required
mode'partner' | 'standalone' required
organizationIdstring required
partnerIdstring

Required in partner mode

reasonstring

Required unless dryRun

Response

The plan (dry run) or the finished move

Changes

Changed in 1 of the 10 revisions of this API.1