Welcome to the Eventra API documentation. This comprehensive guide covers all API endpoints for the Eventra event management system.
Eventra provides a RESTful API for managing events, attendees, RSVPs, check-ins, and analytics. The API is built with Spring Boot and uses JWT authentication for secure access.
Production: https://api.eventra.com
Development: http://localhost:8080
All API endpoints (except public registration and login) require authentication using JWT tokens.
Authorization: Bearer <your-jwt-token>
Content-Type: application/json- Authentication & Users - Login, registration, and user management
- Events - Event creation, management, and operations
- RSVP & Attendees - RSVP management and attendee operations
- Check-in - QR code generation and check-in processes
- Dashboards & Analytics - Analytics and reporting endpoints
- Feedback & Surveys - Post-event feedback and survey management
- Admin - Administrative operations and system management
- Error Codes - Complete error code reference
- OpenAPI Specification - Machine-readable API specification
-
Register a new user
curl -X POST http://localhost:8080/api/auth/register \ -H "Content-Type: application/json" \ -d '{"email":"user@example.com","password":"password","name":"John Doe"}'
-
Login and get token
curl -X POST http://localhost:8080/api/auth/login \ -H "Content-Type: application/json" \ -d '{"email":"user@example.com","password":"password"}'
-
Create an event
curl -X POST http://localhost:8080/api/events \ -H "Authorization: Bearer <your-token>" \ -H "Content-Type: application/json" \ -d '{"title":"My Event","description":"Event description","startDate":"2024-12-01T10:00:00Z"}'
All API responses follow a consistent format:
{
"success": true,
"data": {
// Response data here
},
"message": "Operation completed successfully",
"timestamp": "2024-01-15T10:30:00Z"
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid input data",
"details": ["Email is required", "Password must be at least 8 characters"]
},
"timestamp": "2024-01-15T10:30:00Z"
}API requests are rate limited to prevent abuse:
- Authenticated users: 1000 requests per hour
- Anonymous users: 100 requests per hour
Rate limit headers are included in all responses:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200List endpoints support pagination using query parameters:
GET /api/events?page=1&limit=20&sort=createdAt&order=desc{
"success": true,
"data": {
"items": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"totalPages": 8,
"hasNext": true,
"hasPrev": false
}
}
}The API uses URL path versioning:
/api/v1/events (Current version)
/api/v2/events (Future version)
Current API version: v1
For API support and questions:
- 📧 Email: api-support@eventra.com
- 💬 Discord: Eventra Community
- 🐛 Issues: GitHub Issues
See CHANGELOG.md for API version history and changes.