Skip to main content

API - Configuración General

URL Base

Desarrollo: http://localhost:8000/
Producción: https://api.alojaplus.com/

Autenticación

Authorization: Bearer <jwt_token>
Content-Type: application/json

Formato de Respuesta

{
"success": boolean,
"message": string,
"data": object|array,
"errors": object (opcional),
"count": number (en listas)
}

Códigos de Error

Códigos HTTP Estándar

  • 200: OK - Operación exitosa
  • 201: Created - Recurso creado exitosamente
  • 400: Bad Request - Datos inválidos
  • 401: Unauthorized - Token inválido o expirado
  • 403: Forbidden - Sin permisos
  • 404: Not Found - Recurso no encontrado
  • 409: Conflict - Conflicto de datos (ej: email duplicado)
  • 422: Unprocessable Entity - Validación fallida
  • 429: Too Many Requests - Rate limit excedido
  • 500: Internal Server Error - Error del servidor

Estructura de Error

{
"success": false,
"message": "Descripción del error",
"errors": {
"field_name": ["Error específico del campo"],
"general": ["Error general"]
},
"error_code": "VALIDATION_ERROR",
"timestamp": "2024-01-15T10:30:00Z"
}

Rate Limiting

Límites por Endpoint

  • /auth/login: 5 intentos por minuto por IP
  • /auth/signup: 3 registros por hora por IP
  • /auth/forgot-password: 3 intentos por hora por email
  • API general: 100 requests por minuto por usuario autenticado
  • Uploads: 10 archivos por minuto por usuario

Headers de Rate Limit

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200

Versionado

Versión Actual

  • API Version: v1
  • Formato: /api/v1/endpoint
  • Deprecation Policy: 6 meses de aviso previo

Headers de Versión

API-Version: v1
Accept: application/json; version=1