| plan | No | BASIC | PROFESSIONAL | ENTERPRISE — hint for activation Stripe Checkout. | |
| phone | No | WhatsApp / phone in international +E.164 format. | |
| source | No | Free-form attribution label, e.g. 'chatgpt-app'. | |
| appName | No | Brand for the mobile app — falls back to companyName. | |
| appPlan | No | STARTER | PRO | FULL — hint for activation Stripe Checkout. | |
| country | No | ISO-3166-1 alpha-2 lowercased, e.g. 'mx', 'ar'. Optional — defaults are picked based on the operator's chat context. | |
| logoUrl | No | Publicly-accessible image URL for the logo. | |
| presetId | No | If set, the preset is applied server-side right after tenant creation (branding + services + zones + tariffs + toggles). | |
| ownerName | No | Operator's name (optional but recommended). | |
| ownerEmail | Yes | Operator's email. **Re-use what they already told you in chat — don't ask twice.** Becomes COMPANY_ADMIN of the new tenant. | |
| companyName | Yes | Display name of the company (rider-facing). e.g. 'Taxi Express Tucumán'. | |
| primaryColor | No | Brand primary color in hex. | |
| productLines | No | | |
| triggerBuild | No | Pass true or 'android' to queue an Android build in the same call. The APK link arrives via the trial reminder email or cabgo_get_build. | |
| presetContext | No | Overrides for the preset: { centerLat, centerLng, radiusKm, primaryColor, appName }. centerLat/Lng default 0,0 (no map geometry) unless provided. | |
| secondaryColor | No | Brand secondary color in hex. | |