# Usuarios

El objeto Usuario representa el perfil de un usuario final de tu mercado. Aparece en las respuestas de registro, inicio de sesión, perfil y verificación.

**Ejemplo de objeto usuario**

```json
{
  "id": "692ee113-310b-4e66-b5b5-33796f9616e3",
  "first_name": "Charles",
  "last_name": "Pearson",
  "email": "your_name@example.com",
  "mobile": "7700900493",
  "dial_code": "44",
  "profile_pic": "",
  "birth_date": "1992-10-10",
  "email_verified": true,
  "metadata": {},
  "type": ["customer"],
  "otp_enabled": false,
  "key": {
    "auth_key": "<jwt>",
    "refresh_key": "<jwt>",
    "firebase_token": "<token>"
  }
}
```

## Objeto usuario

| **atributo** | **tipo** | **descripción** |
| --- | --- | --- |
| `id` | `string` | Identificador único del usuario. |
| `first_name` | `string` | Nombre del usuario. |
| `last_name` | `string` | Apellidos del usuario. |
| `email` | `string` | Correo electrónico del usuario. Puede estar vacío en flujos que priorizan el móvil. |
| `mobile` | `string` | Número de móvil del usuario. |
| `dial_code` | `string` | Prefijo telefónico del número móvil (sin `+`). |
| `profile_pic` | `string` | URL de la imagen de perfil. |
| `birth_date` | `string` \| `null` | Fecha de nacimiento en formato `YYYY-MM-DD`, si está disponible. |
| `email_verified` | `boolean` | Indica si el correo electrónico está verificado. |
| `metadata` | `object` | Metadatos personalizados guardados para el perfil. |
| `type` | `array<string>` | Roles o tipos asignados al usuario (por ejemplo, `customer`). |
| `otp_enabled` | `boolean` | Indica si está habilitado TOTP/MFA en la cuenta. Se devuelve en las respuestas de inicio de sesión cuando está disponible. |
| `key` | `object` | Conjunto de tokens de sesión devuelto tras iniciar sesión, verificar o completar un registro directo correctamente. |

## Objeto de claves del usuario

| **atributo** | **tipo** | **descripción** |
| --- | --- | --- |
| `auth_key` | `string` | Token de acceso usado para autorizar llamadas a la API. |
| `refresh_key` | `string` | Token usado para renovar el token de acceso. |
| `firebase_token` | `string` | Token personalizado de Firebase que se devuelve cuando la integración con Firebase está habilitada. |
