Skip to main content

Overview

Event organizers can request modifications to approved events through the update request system. Administrators review and approve/reject these changes before they take effect.
All update requests require administrative approval. Changes are NOT applied automatically upon submission.

Submit Update Request

Submit a modification request for an approved event.

Endpoint

POST /api/updates/event/{eventID}
eventID
long
required
ID of the event to update

Authorization

Required Role: ORGANIZERMust be the event organizer

Request Format

Content-Type: multipart/form-data
update
string (JSON)
required
JSON string containing update details
files
file[]
Optional supporting documents for the update request

Update JSON Structure

{
  "requestedTitle": "Updated Event Title",
  "requestedVenue": "New Location",
  "requestedEventDate": "2024-04-20",
  "requestedStartTime": "15:00:00",
  "requestedEndTime": "17:30:00",
  "requestedDescription": "Updated event description",
  "requestedMaxParticipants": 80,
  "changeReason": "Venue unavailability requires date and location change"
}
changeReason
string
required
Justification for the requested changes

Request Example

curl -X POST http://localhost:8080/api/updates/event/123 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -F 'update={"requestedTitle":"Spring Workshop 2024","requestedVenue":"Room 401","requestedEventDate":"2024-04-20","requestedStartTime":"14:00:00","requestedEndTime":"16:00:00","changeReason":"Original venue double-booked"}' \
  -F 'files=@supporting_doc.pdf'

Response

201 Created
{
  "statusCode": 201,
  "message": "Update request submitted successfully",
  "data": {
    "requestID": 45,
    "eventID": 123,
    "requestedTitle": "Spring Workshop 2024",
    "requestedVenue": "Room 401",
    "requestedEventDate": "2024-04-20",
    "requestedStartTime": "14:00:00",
    "requestedEndTime": "16:00:00",
    "changeReason": "Original venue double-booked",
    "status": "PENDING",
    "submittedAt": "2024-03-15T10:30:00"
  },
  "timestamp": "2024-03-15T10:30:00"
}

Get Pending Requests (Admin)

Retrieve all pending event update requests for review.

Endpoint

GET /api/updates/pending

Authorization

Required Role: ADMIN

Response

200 OK
{
  "statusCode": 200,
  "message": "Pending event update requests fetched successfully",
  "data": [
    {
      "requestID": 45,
      "eventID": 123,
      "eventTitle": "React Workshop",
      "organizerName": "Computer Science Club",
      "requestedTitle": "Spring Workshop 2024",
      "requestedVenue": "Room 401",
      "requestedEventDate": "2024-04-20",
      "changeReason": "Original venue double-booked",
      "status": "PENDING",
      "submittedAt": "2024-03-15T10:30:00"
    }
  ],
  "timestamp": "2024-03-15T11:00:00"
}

Get Update Request by ID

Retrieve details of a specific update request.

Endpoint

GET /api/updates/{requestID}
requestID
long
required
ID of the update request

Authorization

Required Role: ADMIN

Response

200 OK
{
  "statusCode": 200,
  "message": "Update request retrieved",
  "data": {
    "requestID": 45,
    "eventID": 123,
    "requestedTitle": "Spring Workshop 2024",
    "requestedVenue": "Room 401",
    "requestedEventDate": "2024-04-20",
    "requestedStartTime": "14:00:00",
    "requestedEndTime": "16:00:00",
    "changeReason": "Original venue double-booked",
    "status": "PENDING",
    "submittedAt": "2024-03-15T10:30:00",
    "attachments": [
      "/uploads/updates/45/supporting_doc.pdf"
    ]
  },
  "timestamp": "2024-03-15T11:15:00"
}

Approve Update Request

Approve an event update request and apply the changes.

Endpoint

PUT /api/updates/{requestID}/approve
requestID
long
required
ID of the update request to approve

Authorization

Required Role: ADMIN

Query Parameters

notify
boolean
default:"false"
Whether to send email notifications to registered participants about the changes

Request Example

curl -X PUT "http://localhost:8080/api/updates/45/approve?notify=true" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response

200 OK
{
  "statusCode": 200,
  "message": "Event update request approved and applied and participants notified",
  "data": null,
  "timestamp": "2024-03-15T14:00:00"
}
When notify=true, all registered students receive an email about the event changes.

Reject Update Request

Reject an event update request with a reason.

Endpoint

PUT /api/updates/{requestID}/reject
requestID
long
required
ID of the update request to reject

Authorization

Required Role: ADMIN

Query Parameters

notify
boolean
default:"false"
Whether to send rejection notification to the organizer

Request Body

{
  "rejectionReason": "Requested venue is not available on the proposed date"
}
rejectionReason
string
required
Explanation for why the update request was rejected

Request Example

curl -X PUT "http://localhost:8080/api/updates/45/reject?notify=true" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rejectionReason": "Requested venue is not available"}'

Response

200 OK
{
  "statusCode": 200,
  "message": "Event update request rejected",
  "data": null,
  "timestamp": "2024-03-15T14:30:00"
}

Workflow

1

Organizer Submits Request

Event organizer identifies need for changes and submits update request with justification
2

Admin Review

Administrator reviews the request, checking feasibility and justification
3

Approval Decision

Admin approves or rejects with feedback
4

Changes Applied

If approved, changes are immediately applied to the event
5

Notifications Sent

If notify=true, participants are informed of the changes

Common Use Cases

Scenario: Original venue becomes unavailableFields to update:
  • requestedVenue
  • changeReason: “Original venue double-booked”
Scenario: Scheduling conflict with major university eventFields to update:
  • requestedEventDate
  • requestedStartTime
  • requestedEndTime
  • changeReason: “Conflict with final exam schedule”
Scenario: Low registration or venue size changeFields to update:
  • requestedMaxParticipants
  • changeReason: “Low early registration, reducing capacity to ensure quality”
Scenario: Unforeseen circumstances require cancellationAlternative: Event updates don’t handle cancellations. Contact admin directly for event cancellation.

Best Practices

Submit Early: Request updates as soon as you identify the need. Last-minute changes may not be approved.
Clear Justification: Provide detailed reasoning in changeReason to improve approval chances.
Notify Participants: When approved, use notify=true to automatically inform registered students of changes.
Changes are NOT applied until an administrator approves the request. Plan accordingly and don’t announce changes to participants until approval.

Error Responses

{
  "statusCode": 403,
  "message": "You are not authorized to submit updates for this event",
  "timestamp": "2024-03-15T10:30:00"
}
{
  "statusCode": 404,
  "message": "Event not found",
  "timestamp": "2024-03-15T10:30:00"
}
{
  "statusCode": 400,
  "message": "Validation failed: changeReason is required",
  "timestamp": "2024-03-15T10:30:00"
}

Events API

Manage events and view event details

Organizer Guide

Complete guide for event organizers

Admin Guide

Administrator review workflows

Notifications

Email notification system

Build docs developers (and LLMs) love