Initiate a project transfer (to a wallet, email, or owned org)
Transfer a project to another owner. Address the recipient by EXACTLY ONE of to_wallet (a two-party SIWX transfer completed via /accept), to_email (an email-addressed transfer, also accepted via /accept), or to_org_id (same-actor move into another org the caller already owns, completed synchronously). Supplying multiple recipient fields, or none, returns 400 VALIDATION_FAILED. Email-addressed transfers may include retain_member: { role: "developer" }; wallet/org-addressed transfers reject it. kysigned_record_id is wallet-only. Either pending party can cancel wallet/email transfers; otherwise they auto-expire at 72h. Single-pending-per-project (partial UNIQUE index) → 409 PENDING_TRANSFER_EXISTS. Auth: SIWX wallet, or a control-plane session (step-up gated). Org-addressed same-actor moves require active owner membership on both source and destination orgs; non-same-actor org transfers are reserved for a future interactive flow and currently return 403 FORBIDDEN.
Request
- Base URL: https://api.run402.com
- URL: https://api.run402.com/projects/v1/{project_id}/transfers
- Auth: one of:
- API key in header SIGN-IN-WITH-X
- HTTP bearer
Path parameters
Run402 project ID. Public IDs are not UUIDs.
Request body
Response
Same-actor org transfer completed synchronously. Returned only for to_org_id when the caller owns both orgs.
Changes
No recorded changes to this operation across all 1 revision of this API.