Skip to main content
POST
/
api
/
auth
/
register
Register User
curl --request POST \
  --url https://api.example.com/api/auth/register
{
  "success": true,
  "message": "<string>",
  "data": {
    "user": {
      "user_id": 123,
      "name": "<string>",
      "email": "<string>",
      "role_id": 123,
      "status": "<string>",
      "registration_date": "<string>"
    },
    "token": "<string>"
  }
}

Description

Creates a new user account in the system. The user is created with the “user” role (role_id: 2) by default. The password must meet security requirements (minimum 8 characters, uppercase, lowercase, number, and special character).

Authentication

This endpoint is public and does not require authentication.

Rate Limiting

  • Limit: 50 requests per 15 minutes per IP address
  • Error Message: “Demasiadas peticiones desde esta IP, por favor intente más tarde.”

Request Body

name
string
required
Full name of the user
email
string
required
User’s email address (must be valid format)
password
string
required
User’s password (minimum 8 characters, must include uppercase, lowercase, number, and special character)

Response

success
boolean
Indicates if the request was successful
message
string
Human-readable response message
data
object
Response data containing user information and authentication token

Example Request

cURL
curl -X POST https://api.maqagr.com/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Juan Pérez",
    "email": "[email protected]",
    "password": "MiPassword123!"
  }'
JavaScript
const response = await fetch('https://api.maqagr.com/api/auth/register', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'Juan Pérez',
    email: '[email protected]',
    password: 'MiPassword123!'
  })
});

const data = await response.json();
Python
import requests

response = requests.post(
    'https://api.maqagr.com/api/auth/register',
    json={
        'name': 'Juan Pérez',
        'email': '[email protected]',
        'password': 'MiPassword123!'
    }
)

data = response.json()

Success Response (201)

{
  "success": true,
  "message": "Usuario registrado exitosamente",
  "data": {
    "user": {
      "user_id": 1,
      "name": "Juan Pérez",
      "email": "[email protected]",
      "role_id": 2,
      "status": "active",
      "registration_date": "2026-02-13T10:00:00.000Z"
    },
    "token": "eyJhbGciOiJIUzI1NiIs..."
  }
}

Error Responses

400 - Missing Required Fields

{
  "success": false,
  "message": "Datos de entrada incompletos",
  "errors": [
    "Nombre es requerido",
    "Email es requerido"
  ]
}

400 - Invalid Email Format

{
  "success": false,
  "message": "Formato de email inválido"
}

400 - Weak Password

{
  "success": false,
  "message": "Contraseña no cumple requisitos",
  "errors": [
    "Debe tener al menos 8 caracteres",
    "Debe incluir una mayúscula"
  ]
}

409 - Email Already Registered

{
  "success": false,
  "message": "El email ya está registrado"
}

500 - Internal Server Error

{
  "success": false,
  "message": "Error interno del servidor"
}

Build docs developers (and LLMs) love