Public API Documentation

Base URL: http://mail.eventsvr.net/api

Authentication

Most API endpoints do not require authentication, but some may require a valid session. For authenticated requests, include your session cookie with the request.

Endpoints

Events

Search Events
GET /events/search.php

Search and filter events based on various criteria.

Query Parameters
Parameter Type Required Description
q string No Search query to filter events by title or description
date_range string No Filter by date range. Possible values: today, tomorrow, this_week, this_weekend, next_week, this_month, upcoming (default)
category integer No Filter by category ID
platform integer No Filter by platform ID
sort string No Sort order. Possible values: newest, soonest, popular
page integer No Page number for pagination (default: 1)
limit integer No Number of results per page (default: 10)
Example Request
GET /api/events/search.php?q=VR&date_range=upcoming&category=1&sort=soonest
Example Response
{
  "success": true,
  "events": [
    {
      "id": 1,
      "title": "VR Gaming Night",
      "description": "Join us for a night of VR gaming!",
      "start_date": "2025-06-15 19:00:00",
      "end_date": "2025-06-16 01:00:00",
      "location": "Virtual",
      "category_id": 1,
      "category_name": "Gaming",
      "platform_id": 2,
      "platform_name": "Oculus Quest 2",
      "user_id": 42,
      "host_name": "VR Enthusiast",
      "host_avatar": "/uploads/avatars/42.jpg",
      "thumbnail_url": "/uploads/events/1/thumbnail.jpg",
      "like_count": 15,
      "view_count": 120,
      "is_free": true,
      "formatted_start_date": "Saturday, June 15, 2025"
    }
  ],
  "pagination": {
    "total": 1,
    "page": 1,
    "limit": 10,
    "total_pages": 1
  }
}

Get Event by ID
GET /events/get.php?id={id}

Retrieves detailed information about a specific event by its ID.

Parameters
Parameter Type Required Description
id integer Yes Numeric event ID
Example Request
GET /api/events/get.php?id=1
Example Response
{
  "success": true,
  "message": "Event retrieved successfully",
  "event": {
    "id": 1,
    "title": "VR Gaming Night",
    "description": "Join us for a night of VR gaming!",
    "detailed_description": "

Join us for an exciting night of VR gaming with fellow enthusiasts. We\'ll be playing popular VR titles and socializing in virtual reality.

", "start_date": "2025-06-15 19:00:00", "end_date": "2025-06-16 01:00:00", "location": "Virtual", "latitude": null, "longitude": null, "category_id": 1, "category_name": "Gaming", "platform_id": 2, "platform_name": "Oculus Quest 2", "user_id": 42, "host_name": "VR Enthusiast", "host_avatar": "/uploads/avatars/42.jpg", "thumbnail_url": "/uploads/events/1/thumbnail.jpg", "banner_url": "/uploads/events/1/banner.jpg", "like_count": 15, "view_count": 120, "is_free": true, "formatted_start_date": "Saturday, June 15, 2025", "created_at": "2025-05-27T10:00:00Z", "updated_at": "2025-05-27T10:00:00Z" } }
Note: Some fields may be omitted if they are not set for the event.

Categories

List All Categories
GET /categories

Retrieves a list of all available event categories.

Example Request
GET /api/v1/categories
Example Response
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Gaming",
      "slug": "gaming",
      "description": "VR gaming events and tournaments",
      "icon": "fa-gamepad"
    },
    {
      "id": 2,
      "name": "Social",
      "slug": "social",
      "description": "Social gatherings in VR",
      "icon": "fa-users"
    },
    {
      "id": 3,
      "name": "Education",
      "slug": "education",
      "description": "Educational VR experiences",
      "icon": "fa-graduation-cap"
    },
    {
      "id": 4,
      "name": "Art & Creativity",
      "slug": "art-creativity",
      "description": "VR art and creative expression",
      "icon": "fa-palette"
    },
    {
      "id": 5,
      "name": "Fitness",
      "slug": "fitness",
      "description": "VR fitness and exercise",
      "icon": "fa-dumbbell"
    },
    {
      "id": 6,
      "name": "Music & Entertainment",
      "slug": "music-entertainment",
      "description": "VR concerts and entertainment",
      "icon": "fa-music"
    },
    {
      "id": 7,
      "name": "Business & Networking",
      "slug": "business-networking",
      "description": "Professional VR networking",
      "icon": "fa-briefcase"
    },
    {
      "id": 8,
      "name": "Workshops",
      "slug": "workshops",
      "description": "Educational VR workshops",
      "icon": "fa-chalkboard-teacher"
    }
  ]
}

Platforms

List All Platforms
GET /platforms

Retrieves a list of all supported VR platforms.

Example Request
GET /api/v1/platforms
Example Response
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Oculus Quest",
      "slug": "oculus-quest",
      "icon": "oculus"
    },
    {
      "id": 2,
      "name": "Valve Index",
      "slug": "valve-index",
      "icon": "steam"
    },
    {
      "id": 3,
      "name": "HTC Vive",
      "slug": "htc-vive",
      "icon": "htc-vive"
    },
    {
      "id": 4,
      "name": "PlayStation VR",
      "slug": "playstation-vr",
      "icon": "playstation"
    },
    {
      "id": 5,
      "name": "Windows Mixed Reality",
      "slug": "windows-mixed-reality",
      "icon": "windows"
    },
    {
      "id": 6,
      "name": "WebXR",
      "slug": "webxr",
      "icon": "globe"
    },
    {
      "id": 7,
      "name": "Other",
      "slug": "other",
      "icon": "vr-cardboard"
    }
  ]
}

Error Handling

All API endpoints follow a consistent error response format:

Error Response Format
{
  "success": false,
  "message": "Error message describing the issue"
}
Common HTTP Status Codes
HTTP Status Description
200 Request was successful
400 Bad request - Invalid parameters
401 Unauthenticated - Login required
403 Forbidden - Insufficient permissions
404 Resource not found
500 Internal server error
Note: Some endpoints may return additional error details in the response body.
Important: Always check the success field in the response to determine if the request was successful.
Need Help? If you have any questions about the API, please contact the site administrator.