🚀 Getting Started
Base URL: /api
Content Type: application/json
Rate Limiting: 1000 requests per 15 minutes per IP
File Upload Limit: 2MB for profiles, 50MB for chat files
Returns: API health status
🔐 Authentication
Include JWT token in Authorization header for protected routes:
Authorization: Bearer YOUR_JWT_TOKEN
Token Expiry: Access tokens expire after 24 hours.
👤 Users API
Register User
{
"email": "user@example.com",
"password": "SecurePass123",
"role": "user | officiant",
"partner_1": "John Doe",
"partner_2": "Jane Smith",
"name": "Rev. Smith"
}
Login
{
"email": "user@example.com",
"password": "SecurePass123"
}
Get Current User
Get All Officiants
Public endpoint - returns verified officiants
Update Profile
Form Data: profilePicture (File) + user fields
Change Password
{
"currentPassword": "OldPass123",
"newPassword": "NewPass456"
}
📅 Events/Ceremonies API
Create Event
{
"title": "John & Jane Wedding",
"userId": "user_id",
"officiantId": "officiant_id",
"eventDate": "2024-12-31",
"eventTime": "15:00",
"location": "Central Park",
"status": "planned | submitted | approved",
"groomName": "John Doe",
"brideName": "Jane Smith"
}
Get Events by Role
Update Event
Delete Event
📄 Agreements API
Create Agreement
{
"userId": "user_id",
"officiantId": "officiant_id",
"price": 500,
"travelFee": 50,
"ceremonyDate": "2024-12-31",
"ceremonyLocation": "Central Park"
}
Get Agreement by User
Upload Signatures
Mark Payment Completed
📊 Agreement Status Flow:
pending → officiant_filled → user_signed → payment_requested → payment_completed → officiant_signed → used
💬 Chat API
Get Messages
Query: ?page=1&limit=50
Send Message
{
"roomId": "private_userId_officiantId",
"sender": "user_id",
"senderName": "John Doe",
"type": "text | image | file",
"content": "Message text..."
}
Upload File
Max 50MB per file
🔌 WebSocket Events:
Client → Server: - joinRoom - sendMessage - typing Server → Client: - receiveMessage - userTyping
🗓️ Schedule API
Create Schedule
Get Schedules
⭐ Reviews API
Create Review
{
"officiantId": "officiant_id",
"rating": 5,
"comment": "Excellent service!",
"isPublic": true
}
Get Public Reviews
No auth required
🎉 Start Building!
Create amazing wedding experiences with our API
Visit Application →
Made with ❤️ by Erie Wedding Officiants Team
© 2025 All Rights Reserved