After OTP verification, a Supabase Auth user exists but has no application profile yet. Calling this endpoint creates a row inDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/DavidCevallos15/Crucidrive---APP/llms.txt
Use this file to discover all available pages before exploring further.
public.perfiles and assigns the user one of two roles — pasajero or conductor. Driver registrations also create a linked row in public.tricimotos in the same request; if that second insert fails, the profile is deleted automatically so no orphaned records are left behind.
Request
Bearer JWT obtained from Supabase Auth after OTP verification. Example:
Bearer eyJhbGci...The role to assign to this profile. Must be exactly
"pasajero" or "conductor". Any other value returns a 400.The user’s full name as it will appear in the app and to ride participants.
The user’s phone number in E.164 format (e.g.
+593987654321). Must be unique across public.perfiles — duplicate values return a 400.Vehicle plate number for the tricimoto unit. Required when
rol is "conductor"; ignored for passengers. Example: "MBD-1234".Example request bodies
Response 201
A successful registration returns a status: "success" envelope with the following data payload:
The newly created profile record from
public.perfiles.Only present (non-null) when
rol is "conductor". Contains the newly created record from public.tricimotos.Error cases
| HTTP status | Cause |
|---|---|
400 | One or more of rol, nombre, or telefono is missing from the request body |
400 | rol is not "pasajero" or "conductor" |
400 | rol is "conductor" but placa was not provided |
400 | Profile insert failed — most commonly a duplicate telefono violating the unique constraint |
400 | Tricimoto insert failed (conductor only) — profile is automatically deleted before this error is returned |