Skip to main content

Overview

The Authentication API provides endpoints for user registration, login, email verification, password recovery, and session management. All endpoints use HTTP-only cookies for secure token storage.

Base URL

/auth

Create Account

curl -X POST https://api.tambo360.com/auth/crear-cuenta \
  -H "Content-Type: application/json" \
  -d '{
    "nombre": "Juan Perez",
    "correo": "[email protected]",
    "contraseña": "!Password123"
  }'
Creates a new user account and sends a verification email.

Request Body

nombre
string
required
User’s full name. Must be between 5 and 50 characters.
correo
string
required
Valid email address. Must be between 5 and 50 characters.
contraseña
string
required
Password with the following requirements:
  • Minimum 8 characters, maximum 50
  • At least one uppercase letter
  • At least one lowercase letter
  • At least one number
  • At least one special character (@$!%*?&)

Response

statusCode
integer
HTTP status code (201 for success)
message
string
Success or error message
data
object
User object containing:
idUsuario
string
UUID of the created user
nombre
string
User’s name
correo
string
User’s email
verificado
boolean
Email verification status (false on creation)
fechaCreacion
string
ISO 8601 timestamp of account creation
success
boolean
Indicates if the request was successful
{
  "statusCode": 201,
  "message": "Usuario registrado exitosamente",
  "data": {
    "idUsuario": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "nombre": "Juan Perez",
    "correo": "[email protected]",
    "verificado": false,
    "fechaCreacion": "2026-03-08T10:30:00.000Z"
  },
  "success": true
}

Login

curl -X POST https://api.tambo360.com/auth/iniciar-sesion \
  -H "Content-Type: application/json" \
  -d '{
    "correo": "[email protected]",
    "contraseña": "!Password123"
  }'
Authenticates a user and returns a JWT token in an HTTP-only cookie.

Request Body

correo
string
required
User’s email address
contraseña
string
required
User’s password

Response

statusCode
integer
HTTP status code (200 for success)
message
string
“Inicio de sesión exitoso”
data
object
User and token data:
user
object
idUsuario
string
User’s UUID
nombre
string
User’s name
correo
string
User’s email
verificado
boolean
Email verification status
fechaCreacion
string
Account creation timestamp
establecimientos
array
Array of user’s establishments
token
string
JWT token (also set as HTTP-only cookie)
{
  "statusCode": 200,
  "message": "Inicio de sesión exitoso",
  "data": {
    "user": {
      "idUsuario": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
      "nombre": "Juan Perez",
      "correo": "[email protected]",
      "verificado": true,
      "fechaCreacion": "2026-03-08T10:30:00.000Z",
      "establecimientos": []
    },
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
  },
  "success": true
}

Verify Email

curl -X POST https://api.tambo360.com/auth/verificar-email \
  -H "Content-Type: application/json" \
  -d '{
    "token": "b28a6254dd3cadca4e7f2c236ee3a412575af5d19fe1e982f5760a072635bc6f"
  }'
Verifies a user’s email using the token sent to their email address.

Request Body

token
string
required
Verification token received via email

Response

{
  "statusCode": 200,
  "message": "Email verificado exitosamente",
  "data": {
    "user": {
      "idUsuario": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
      "nombre": "Juan Perez",
      "correo": "[email protected]",
      "verificado": true,
      "fechaCreacion": "2026-03-08T10:30:00.000Z",
      "establecimientos": []
    }
  },
  "success": true
}

Resend Verification Email

curl -X POST https://api.tambo360.com/auth/reenviar-verificacion \
  -H "Content-Type: application/json" \
  -d '{
    "correo": "[email protected]"
  }'
Resends the email verification link to the user’s email.

Request Body

correo
string
required
User’s email address

Response

{
  "statusCode": 200,
  "message": "Correo de verificación reenviado exitosamente",
  "data": null,
  "success": true
}

Forgot Password

curl -X POST https://api.tambo360.com/auth/contrasena-olvidada \
  -H "Content-Type: application/json" \
  -d '{
    "correo": "[email protected]"
  }'
Initiates the password reset process by sending a reset token to the user’s email.

Request Body

correo
string
required
User’s email address

Response

{
  "statusCode": 200,
  "message": "Instrucciones para restablecer la contraseña enviadas al correo",
  "data": null,
  "success": true
}

Verify Reset Password Token

curl -X POST https://api.tambo360.com/auth/verificar-restablecer-contrasena \
  -H "Content-Type: application/json" \
  -d '{
    "token": "b28a6254dd3cadca4e7f2c236ee3a412575af5d19fe1e982f5760a072635bc6f"
  }'
Validates a password reset token before allowing the user to set a new password.

Request Body

token
string
required
Password reset token received via email

Response

{
  "statusCode": 200,
  "message": "Token de restablecimiento válido",
  "data": null,
  "success": true
}

Reset Password

curl -X POST https://api.tambo360.com/auth/restablecer-contrasena \
  -H "Content-Type: application/json" \
  -d '{
    "token": "b28a6254dd3cadca4e7f2c236ee3a412575af5d19fe1e982f5760a072635bc6f",
    "nuevaContraseña": "!NewPassword456"
  }'
Sets a new password using a valid reset token.

Request Body

token
string
required
Password reset token
nuevaContraseña
string
required
New password meeting all password requirements (see Create Account)

Response

{
  "statusCode": 200,
  "message": "Contraseña restablecida exitosamente",
  "data": null,
  "success": true
}

Get Current User

curl -X GET https://api.tambo360.com/auth/me \
  -H "Cookie: token=<jwt_token>"
Retrieves the authenticated user’s profile information. Authentication Required: Yes (Cookie-based JWT)

Response

{
  "statusCode": 200,
  "message": "Usuario obtenido exitosamente",
  "data": {
    "idUsuario": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "nombre": "Juan Perez",
    "correo": "[email protected]",
    "verificado": true,
    "fechaCreacion": "2026-03-08T10:30:00.000Z",
    "establecimientos": [
      {
        "idEstablecimiento": "c2b8e8a2-4f92-4f3f-b0c5-1a2b3c4d5e6f",
        "nombre": "Establecimiento Norte",
        "localidad": "Rafaela",
        "provincia": "Santa Fe"
      }
    ]
  },
  "success": true
}

Logout

curl -X POST https://api.tambo360.com/auth/logout \
  -H "Cookie: token=<jwt_token>"
Clears the authentication cookie and ends the user’s session. Authentication Required: Yes (Cookie-based JWT)

Response

{
  "statusCode": 200,
  "message": "Sesión cerrada correctamente",
  "success": true
}

Error Responses

All endpoints may return the following error responses:

400 Bad Request

Invalid input data or validation errors

401 Unauthorized

Missing or invalid authentication token

404 Not Found

Requested resource does not exist

500 Internal Server Error

Unexpected server error

Build docs developers (and LLMs) love