{"info":{"_postman_id":"9b168c59-c07f-4c1c-9b90-6c652efe298d","name":"SamaySync","description":"<html><head></head><body><h2 id=\"project-event-invite--reminder-api\">Project: Event Invite &amp; Reminder API</h2>\n<p>This Postman collection contains all the API routes for managing <strong>user authentication</strong>, <strong>event creation</strong>, <strong>invitee management</strong>, and <strong>automated email reminders</strong> based on event time and invitee timezones.</p>\n<hr>\n<h3 id=\"authentication\"><strong>Authentication</strong></h3>\n<ul>\n<li><p><strong>Register</strong> new users (name, email, password)</p>\n</li>\n<li><p><strong>Login</strong> with email &amp; password to get a JWT token</p>\n</li>\n<li><p>All protected routes require this token via the <code>Authorization: Bearer</code> header.</p>\n</li>\n</ul>\n<hr>\n<h3 id=\"event-management\"><strong>Event Management</strong></h3>\n<ul>\n<li><p><strong>Create Event</strong>: Add a new event with title, date, duration, location, and optional description.</p>\n</li>\n<li><p><strong>Get All Events</strong> (for the logged-in user)</p>\n</li>\n<li><p><strong>Get Single Event</strong> by ID</p>\n</li>\n<li><p><strong>Update Event</strong>: Modify event details</p>\n</li>\n<li><p><strong>Delete Event</strong>: Remove event and associated invitees</p>\n</li>\n</ul>\n<p>All event times are stored and handled in <strong>UTC</strong>. The server uses <code>dayjs</code> for precise timezone and scheduling logic.</p>\n<hr>\n<h3 id=\"invitee-management\"><strong>Invitee Management</strong></h3>\n<ul>\n<li><p><strong>Add Invitee</strong> to an event by providing their email, city, and timezone.</p>\n</li>\n<li><p><strong>Get All Invitees</strong> for a specific event</p>\n</li>\n<li><p><strong>Resend Email Invite</strong> to a specific invitee</p>\n</li>\n<li><p><strong>Delete Invitee</strong> from an event</p>\n</li>\n</ul>\n<p>Timezones are used to schedule reminders <strong>relative to each invitee's local time</strong>.</p>\n<hr>\n<h3 id=\"automated-email-reminders\"><strong>Automated Email Reminders</strong></h3>\n<ul>\n<li><p>A background job runs every minute using <code>node-cron</code></p>\n</li>\n<li><p>It checks if any events are about to start in the next X minutes (configurable via <code>.env</code> as <code>REMINDER_TIME_MINUTES</code>)</p>\n</li>\n<li><p>For all invitees of those events, <strong>reminder emails are sent automatically</strong></p>\n</li>\n</ul>\n<hr>\n<h3 id=\"tech-stack\"><strong>Tech Stack</strong></h3>\n<ul>\n<li><p><strong>Backend</strong>: Node.js + Express</p>\n</li>\n<li><p><strong>Database</strong>: MongoDB + Mongoose</p>\n</li>\n<li><p><strong>Auth</strong>: JWT with middleware protection</p>\n</li>\n<li><p><strong>Email Service</strong>: Nodemailer</p>\n</li>\n<li><p><strong>Timezone Intelligence</strong>: <code>dayjs</code>, <code>city-timezones</code></p>\n</li>\n<li><p><strong>Cron Jobs</strong>: <code>node-cron</code></p>\n</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"45879803","collectionId":"9b168c59-c07f-4c1c-9b90-6c652efe298d","publishedId":"2sB3BAKXg5","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-07-31T20:07:53.000Z"},"item":[{"name":"Authentication","item":[{"name":"SignUp","id":"4e6fedde-314f-4cb7-9ff8-efce52331c2b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Tushar\",\r\n    \"email\":\"admin123@gmail.com\",\r\n    \"password\": \"Admin@123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{URL}}/auth/signup","description":"<h2 id=\"api-endpoint-user-signup\">API Endpoint: User Signup</h2>\n<h3 id=\"method\">Method</h3>\n<p><code>POST</code></p>\n<h3 id=\"endpoint\">Endpoint</h3>\n<p><code>{{URL}}/auth/signup</code></p>\n<h3 id=\"description\">Description</h3>\n<p>This endpoint is used to register a new user by providing their details. Upon successful registration, the server responds with an authentication token.</p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<p>The request body must be in JSON format and include the following parameters:</p>\n<ul>\n<li><p><strong>name</strong> (string): The full name of the user.</p>\n</li>\n<li><p><strong>email</strong> (string): The email address of the user, which must be unique.</p>\n</li>\n<li><p><strong>password</strong> (string): The password chosen by the user, which should meet security requirements.</p>\n</li>\n</ul>\n<h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"name\": \"Tushar\",\n  \"email\": \"admin123@gmail.com\",\n  \"password\": \"Admin@123\"\n}\n\n</code></pre>\n<h3 id=\"response-format\">Response Format</h3>\n<p>On a successful signup, the server returns a JSON object containing:</p>\n<ul>\n<li><strong>token</strong> (string): An authentication token that can be used for subsequent requests.</li>\n</ul>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"token\": \"\"\n}\n\n</code></pre>\n<h3 id=\"status-codes\">Status Codes</h3>\n<ul>\n<li><p><strong>200 OK</strong>: Indicates that the signup was successful and the token is returned.</p>\n</li>\n<li><p>Other related endpoints may return various data structures, typically including fields such as <code>_id</code>, <code>title</code>, <code>description</code>, <code>date</code>, <code>durationMinutes</code>, <code>location</code>, <code>createdBy</code>, <code>createdAt</code>, <code>updatedAt</code>, and <code>__v</code>, depending on the specific API call.</p>\n</li>\n</ul>\n<p>This endpoint is essential for user registration and is the first step for users to access protected resources within the application.</p>\n","urlObject":{"path":["auth","signup"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4e6fedde-314f-4cb7-9ff8-efce52331c2b"},{"name":"Login","id":"fe2bb4c2-b7b4-4110-a1a6-ec07fe51ef5b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"admin123@gmail.com\",\r\n    \"password\":\"Admin@123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{URL}}/auth/login","description":"<h2 id=\"login-endpoint\">Login Endpoint</h2>\n<p>This endpoint is used to authenticate a user by logging them into the application. It requires the user's email and password to be provided in the request body.</p>\n<h3 id=\"request\">Request</h3>\n<p><strong>Method:</strong> POST<br /><strong>URL:</strong> <code>{{URL}}/auth/login</code></p>\n<p><strong>Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"email\": \"string\",      // The email address of the user\n  \"password\": \"string\"    // The password associated with the user's account\n}\n\n</code></pre>\n<h3 id=\"expected-response\">Expected Response</h3>\n<p>Upon successful login, the API will return a JSON response containing a token that can be used for subsequent authenticated requests.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"token\": \"string\"       // A token used for authentication in future requests\n}\n\n</code></pre>\n<h3 id=\"status-codes\">Status Codes</h3>\n<ul>\n<li><p><strong>200 OK</strong>: Indicates that the login was successful and the token is returned.</p>\n</li>\n<li><p><strong>401 Unauthorized</strong>: Indicates that the login credentials are invalid.</p>\n</li>\n</ul>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>Ensure that the email and password are correct to avoid authentication errors.</p>\n</li>\n<li><p>The token received in the response should be stored securely and included in the headers of subsequent requests to access protected resources.</p>\n</li>\n</ul>\n","urlObject":{"path":["auth","login"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"fe2bb4c2-b7b4-4110-a1a6-ec07fe51ef5b"}],"id":"169fa243-776e-4a23-a68d-c1df6a9a1015","_postman_id":"169fa243-776e-4a23-a68d-c1df6a9a1015","description":""},{"name":"Events","item":[{"name":"Create Event","id":"f49a35f4-5fd6-4752-ac43-d0946934a71d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"title\": \"Test Event 3 \",\r\n  \"description\": \"Testing the remainder function in API - take 3\",\r\n  \"date\": \"2025-08-01T01:15\", \r\n  \"durationMinutes\": 90,\r\n  \"location\": \"Mumbai, India\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{URL}}/events/","description":"<h2 id=\"create-event\">Create Event</h2>\n<p>This endpoint allows you to create a new event by sending a POST request to the <code>/events/</code> endpoint. The request requires a JSON payload that includes details about the event.</p>\n<h3 id=\"request-body-parameters\">Request Body Parameters</h3>\n<p>The following parameters should be included in the request body:</p>\n<ul>\n<li><p><strong>title</strong> (string): The title of the event.</p>\n</li>\n<li><p><strong>description</strong> (string): A brief description of the event.</p>\n</li>\n<li><p><strong>date</strong> (string): The date and time of the event in ISO 8601 format (e.g., \"2025-08-01T01:15\").</p>\n</li>\n<li><p><strong>durationMinutes</strong> (integer): The duration of the event in minutes.</p>\n</li>\n<li><p><strong>location</strong> (string): The location where the event will take place.</p>\n</li>\n</ul>\n<h3 id=\"example-request\">Example Request</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"title\": \"Test Event 3\",\n  \"description\": \"Testing the remainder function ...\",\n  \"date\": \"2025-08-01T01:15\",\n  \"durationMinutes\": 90,\n  \"location\": \"Mumbai, India\"\n}\n\n</code></pre>\n<h3 id=\"expected-response\">Expected Response</h3>\n<p>Upon successful creation of the event, the API will return a <code>201 Created</code> status code along with a JSON response containing the following fields:</p>\n<ul>\n<li><p><strong>title</strong> (string): The title of the created event.</p>\n</li>\n<li><p><strong>description</strong> (string): The description of the created event.</p>\n</li>\n<li><p><strong>date</strong> (string): The date and time of the created event.</p>\n</li>\n<li><p><strong>durationMinutes</strong> (integer): The duration of the created event in minutes.</p>\n</li>\n<li><p><strong>location</strong> (string): The location of the created event.</p>\n</li>\n<li><p><strong>createdBy</strong> (string): The identifier of the user who created the event.</p>\n</li>\n<li><p><strong>_id</strong> (string): The unique identifier for the created event.</p>\n</li>\n<li><p><strong>createdAt</strong> (string): The timestamp when the event was created.</p>\n</li>\n<li><p><strong>updatedAt</strong> (string): The timestamp when the event was last updated.</p>\n</li>\n<li><p><strong>__v</strong> (integer): The version key.</p>\n</li>\n</ul>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"title\": \"\",\n  \"description\": \"\",\n  \"date\": \"\",\n  \"durationMinutes\": 0,\n  \"location\": \"\",\n  \"createdBy\": \"\",\n  \"_id\": \"\",\n  \"createdAt\": \"\",\n  \"updatedAt\": \"\",\n  \"__v\": 0\n}\n\n</code></pre>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>Ensure that all required fields are provided in the request body.</p>\n</li>\n<li><p>The response will include the details of the created event, which can be used for further operations or confirmations.</p>\n</li>\n<li><p>This endpoint is crucial for managing events within the application, and proper validation of the input data is recommended to avoid errors.</p>\n</li>\n</ul>\n","urlObject":{"path":["events",""],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f49a35f4-5fd6-4752-ac43-d0946934a71d"},{"name":"All Events","id":"cd59021f-580d-44ac-bc3e-9d7084bbc0b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"url":"{{URL}}/events/me","description":"<h3 id=\"endpoint-description-retrieve-user-events\">Endpoint Description: Retrieve User Events</h3>\n<p>This endpoint allows users to retrieve a list of events associated with their account. It provides detailed information about each event, including its title, description, date, duration, location, and metadata regarding its creation and updates.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p><strong>Method</strong>: GET</p>\n</li>\n<li><p><strong>URL</strong>: <code>{{URL}}/events/me</code></p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon a successful request, the server responds with a <code>200 OK</code> status and returns a JSON array containing the following fields for each event:</p>\n<ul>\n<li><p><strong>_id</strong>: (String) Unique identifier for the event.</p>\n</li>\n<li><p><strong>title</strong>: (String) The title of the event.</p>\n</li>\n<li><p><strong>description</strong>: (String) A brief description of the event.</p>\n</li>\n<li><p><strong>date</strong>: (String) The date when the event is scheduled to occur.</p>\n</li>\n<li><p><strong>durationMinutes</strong>: (Integer) The duration of the event in minutes.</p>\n</li>\n<li><p><strong>location</strong>: (String) The location where the event will take place.</p>\n</li>\n<li><p><strong>createdBy</strong>: (String) Identifier for the user who created the event.</p>\n</li>\n<li><p><strong>createdAt</strong>: (String) Timestamp indicating when the event was created.</p>\n</li>\n<li><p><strong>updatedAt</strong>: (String) Timestamp indicating the last update of the event.</p>\n</li>\n<li><p><strong>__v</strong>: (Integer) Version key for the document.</p>\n</li>\n</ul>\n<h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"_id\": \"\",\n        \"title\": \"\",\n        \"description\": \"\",\n        \"date\": \"\",\n        \"durationMinutes\": 0,\n        \"location\": \"\",\n        \"createdBy\": \"\",\n        \"createdAt\": \"\",\n        \"updatedAt\": \"\",\n        \"__v\": 0\n    }\n]\n\n</code></pre>\n<h4 id=\"related-endpoints\">Related Endpoints</h4>\n<p>This endpoint is part of a broader API that includes various related endpoints for managing events and user information, which may return similar data structures. The successful responses from these endpoints typically include status codes such as <code>200 OK</code> and <code>201 Created</code>, indicating the successful retrieval or creation of resources.</p>\n<p>This endpoint is essential for users who want to view their scheduled events and manage their planning effectively.</p>\n","urlObject":{"path":["events","me"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"cd59021f-580d-44ac-bc3e-9d7084bbc0b8"},{"name":"Event","id":"1f27931c-368e-4ba7-a652-a5c349c47680","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"url":"{{URL}}/events/688bb9a9ae64217ec4d50a65","description":"<h2 id=\"get-eventsid\">GET /events/{id}</h2>\n<p>This endpoint retrieves the details of a specific event identified by its unique ID. The request is made using the HTTP GET method.</p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><p><strong>Path Parameter:</strong></p>\n<ul>\n<li><code>id</code> (string): The unique identifier of the event you wish to retrieve.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"example-request\">Example Request</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">GET {{URL}}/events/688bb9a9ae64217ec4d50a65\n\n</code></pre>\n<h3 id=\"response-structure\">Response Structure</h3>\n<p>On a successful request, the API returns a JSON object containing the details of the event. The response will include the following fields:</p>\n<ul>\n<li><p><code>_id</code> (string): The unique identifier for the event.</p>\n</li>\n<li><p><code>title</code> (string): The title of the event.</p>\n</li>\n<li><p><code>description</code> (string): A brief description of the event.</p>\n</li>\n<li><p><code>date</code> (string): The date and time of the event in ISO 8601 format.</p>\n</li>\n<li><p><code>durationMinutes</code> (integer): The duration of the event in minutes.</p>\n</li>\n<li><p><code>location</code> (string): The location where the event will take place.</p>\n</li>\n<li><p><code>createdBy</code> (string): The identifier of the user who created the event.</p>\n</li>\n<li><p><code>createdAt</code> (string): The timestamp of when the event was created.</p>\n</li>\n<li><p><code>updatedAt</code> (string): The timestamp of when the event was last updated.</p>\n</li>\n<li><p><code>__v</code> (integer): The version key for the event document.</p>\n</li>\n</ul>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"_id\": \"event_id\",\n  \"title\": \"Event Title\",\n  \"description\": \"Event description here.\",\n  \"date\": \"2025-07-30T21:00\",\n  \"durationMinutes\": 90,\n  \"location\": \"Mumbai\",\n  \"createdBy\": \"user_id\",\n  \"createdAt\": \"timestamp\",\n  \"updatedAt\": \"timestamp\",\n  \"__v\": 0\n}\n\n</code></pre>\n<h3 id=\"status-codes\">Status Codes</h3>\n<ul>\n<li><p><strong>200 OK</strong>: The request was successful, and the event details are returned.</p>\n</li>\n<li><p><strong>404 Not Found</strong>: The event with the specified ID does not exist.</p>\n</li>\n</ul>\n<p>This endpoint is essential for retrieving event information, which can be utilized for display in user interfaces or for further processing in applications.</p>\n","urlObject":{"path":["events","688bb9a9ae64217ec4d50a65"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1f27931c-368e-4ba7-a652-a5c349c47680"},{"name":"Update Event","id":"9dc9c771-cc78-425f-bfad-6735cd9b7211","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \r\n  \"date\": \"2025-07-31T01:25\",\r\n  \"location\": \"Mumbai, India\"\r\n  \r\n}","options":{"raw":{"language":"json"}}},"url":"{{URL}}/events/688b71d9b12ec0926736a1e6","description":"<h2 id=\"patch-eventseventid\">PATCH /events/{eventId}</h2>\n<p>This endpoint allows you to update the details of a specific event identified by its unique ID. The request modifies the event's date and location.</p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<p>The request body should be in JSON format and include the following parameters:</p>\n<ul>\n<li><p><strong>date</strong> (string): The new date and time for the event in ISO 8601 format (e.g., \"2025-07-31T01:25\").</p>\n</li>\n<li><p><strong>location</strong> (string): The new location for the event (e.g., \"Mumbai, India\").</p>\n</li>\n</ul>\n<h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"date\": \"2025-07-31T01:25\",\n  \"location\": \"Mumbai, India\"\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful update, the server will respond with a status code of <strong>200</strong> and a JSON object containing the updated event details. The structure of the response will include:</p>\n<ul>\n<li><p><strong>_id</strong> (string): The unique identifier of the event.</p>\n</li>\n<li><p><strong>title</strong> (string): The title of the event.</p>\n</li>\n<li><p><strong>description</strong> (string): A description of the event.</p>\n</li>\n<li><p><strong>date</strong> (string): The updated date and time of the event.</p>\n</li>\n<li><p><strong>durationMinutes</strong> (integer): The duration of the event in minutes.</p>\n</li>\n<li><p><strong>location</strong> (string): The updated location of the event.</p>\n</li>\n<li><p><strong>createdBy</strong> (string): The identifier of the user who created the event.</p>\n</li>\n<li><p><strong>createdAt</strong> (string): Timestamp of when the event was created.</p>\n</li>\n<li><p><strong>updatedAt</strong> (string): Timestamp of when the event was last updated.</p>\n</li>\n<li><p><strong>__v</strong> (integer): Version key for the event document.</p>\n</li>\n</ul>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"_id\": \"\",\n  \"title\": \"\",\n  \"description\": \"\",\n  \"date\": \"\",\n  \"durationMinutes\": 0,\n  \"location\": \"\",\n  \"createdBy\": \"\",\n  \"createdAt\": \"\",\n  \"updatedAt\": \"\",\n  \"__v\": 0\n}\n\n</code></pre>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>Ensure that the event ID in the URL is valid and corresponds to an existing event.</p>\n</li>\n<li><p>The response structure may vary slightly based on the event's data and attributes.</p>\n</li>\n<li><p>This endpoint is part of a broader API that manages events, and similar endpoints may return related data structures.</p>\n</li>\n</ul>\n","urlObject":{"path":["events","688b71d9b12ec0926736a1e6"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9dc9c771-cc78-425f-bfad-6735cd9b7211"},{"name":"Delete Event","id":"924b6407-911e-47b0-a7d4-dd8136d87f1d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"url":"{{URL}}/events/688b7239b12ec0926736a1e9","description":"<h3 id=\"delete-eventsid\">DELETE /events/{id}</h3>\n<p>This endpoint is used to delete a specific event from the system. The event to be deleted is identified by its unique identifier (ID) provided in the URL path.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><p><strong>Path Parameter</strong></p>\n<ul>\n<li><code>id</code> (string): The unique identifier of the event that you wish to delete.</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful deletion of the event, the API will return a response with a status code of <code>200</code> and a message indicating the success of the operation.</p>\n<ul>\n<li>{ \"message\": \"\"}</li>\n</ul>\n<h4 id=\"related-endpoints\">Related Endpoints</h4>\n<p>Other methods (such as GET) called on the same URL may return detailed information about the event, structured as follows:</p>\n<ul>\n<li>{ \"_id\": \"\", \"title\": \"\", \"description\": \"\", \"date\": \"\", \"durationMinutes\": 0, \"location\": \"\", \"createdBy\": \"\", \"createdAt\": \"\", \"updatedAt\": \"\", \"__v\": 0}</li>\n</ul>\n<p>This structure provides comprehensive details about the event, including its title, description, date, duration, location, and timestamps for creation and updates.</p>\n<p>Additionally, calls to other related endpoints may return lists of events or related data, which follow similar structures, ensuring consistency across the API responses.</p>\n<h4 id=\"status-codes\">Status Codes</h4>\n<ul>\n<li><p><code>200 OK</code>: Indicates that the event was successfully deleted.</p>\n</li>\n<li><p>Other status codes may indicate different outcomes based on the request made to the API.</p>\n</li>\n</ul>\n<p>Make sure to handle the responses appropriately in your application to provide feedback to users regarding the success or failure of their delete requests.</p>\n","urlObject":{"path":["events","688b7239b12ec0926736a1e9"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"924b6407-911e-47b0-a7d4-dd8136d87f1d"}],"id":"6442aed7-0460-4216-9f04-22d16596d40f","_postman_id":"6442aed7-0460-4216-9f04-22d16596d40f","description":""},{"name":"Invitees","item":[{"name":"Invite","id":"8c8777ed-23d7-4b49-aac3-97882697c0a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"arctdarknight1551@gmail.com\",\r\n    \"city\": \"New York, United States\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{URL}}/invites/688bb9a9ae64217ec4d50a65","description":"<h2 id=\"invite-creation-endpoint\">Invite Creation Endpoint</h2>\n<p>This endpoint allows you to create an invite by submitting an email address and the associated city. Upon successful creation, a response will be returned with details of the invite.</p>\n<h3 id=\"request\">Request</h3>\n<ul>\n<li><p><strong>Method</strong>: POST</p>\n</li>\n<li><p><strong>URL</strong>: <code>{{URL}}/invites/{inviteId}</code></p>\n</li>\n</ul>\n<h4 id=\"request-body\">Request Body</h4>\n<p>The request body must be in JSON format and should include the following parameters:</p>\n<ul>\n<li><p><strong>email</strong> (string): The email address of the invitee. This is a required field.</p>\n</li>\n<li><p><strong>city</strong> (string): The city where the invitee is located. This is a required field.</p>\n</li>\n</ul>\n<p><strong>Example Request Body</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"email\": \"example@example.com\",\n  \"city\": \"New York, United States\"\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p>On a successful request, the server will respond with a <code>201 Created</code> status code and a JSON object containing the following fields:</p>\n<ul>\n<li><p><strong>event</strong> (string): The event associated with the invite (may be empty).</p>\n</li>\n<li><p><strong>email</strong> (string): The email address provided in the request.</p>\n</li>\n<li><p><strong>city</strong> (string): The city provided in the request.</p>\n</li>\n<li><p><strong>timezone</strong> (string): The timezone related to the invitee (may be empty).</p>\n</li>\n<li><p><strong>_id</strong> (string): A unique identifier for the invite.</p>\n</li>\n<li><p><strong>createdAt</strong> (string): Timestamp of when the invite was created.</p>\n</li>\n<li><p><strong>updatedAt</strong> (string): Timestamp of the last update made to the invite.</p>\n</li>\n<li><p><strong>__v</strong> (integer): Version key for the invite document.</p>\n</li>\n</ul>\n<p><strong>Example Response</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"event\": \"\",\n  \"email\": \"example@example.com\",\n  \"city\": \"New York, United States\",\n  \"timezone\": \"\",\n  \"_id\": \"unique_id\",\n  \"createdAt\": \"timestamp\",\n  \"updatedAt\": \"timestamp\",\n  \"__v\": 0\n}\n\n</code></pre>\n<h3 id=\"related-responses\">Related Responses</h3>\n<p>Other related endpoints may return similar data structures, allowing for consistent handling of invite-related information across the API.</p>\n<ul>\n<li><p>Successful retrieval of invites may return a <code>200 OK</code> status with an array of invites.</p>\n</li>\n<li><p>Other endpoints may return various data structures related to events, messages, and other entities within the API.</p>\n</li>\n</ul>\n<h3 id=\"notes\">Notes</h3>\n<p>Ensure that the email and city fields are provided in the correct format to avoid validation errors. The API will return appropriate status codes to indicate success or failure of the request.</p>\n","urlObject":{"path":["invites","688bb9a9ae64217ec4d50a65"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8c8777ed-23d7-4b49-aac3-97882697c0a6"},{"name":"All Invitees","id":"25f1e5a2-9fdc-4e76-8a40-2ea9bf5698ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{URL}}/invites/688bb9a9ae64217ec4d50a65","urlObject":{"path":["invites","688bb9a9ae64217ec4d50a65"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"25f1e5a2-9fdc-4e76-8a40-2ea9bf5698ac"},{"name":"Resend","id":"1774148b-a690-4c06-bfdf-025568dce3e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"url":"{{URL}}/invites/688b71d9b12ec0926736a1e6/resend/688b9dc04c7f6dd6ae56edcb","description":"<h2 id=\"resend-invite-endpoint\">Resend Invite Endpoint</h2>\n<p>This endpoint allows users to resend an invitation to a specified recipient. The request is made via an HTTP POST method to the endpoint <code>{{URL}}/invites/{inviteId}/resend/{recipientId}</code>, where <code>{inviteId}</code> is the ID of the invite being resent and <code>{recipientId}</code> is the ID of the recipient.</p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><p><strong>inviteId</strong> (path parameter): The unique identifier of the invite that you want to resend.</p>\n</li>\n<li><p><strong>recipientId</strong> (path parameter): The unique identifier of the recipient to whom the invite is being resent.</p>\n</li>\n</ul>\n<h3 id=\"expected-response\">Expected Response</h3>\n<p>Upon a successful request, the API will return a response with a status code of <code>200</code> or <code>201</code>, depending on the operation performed. The response body may include:</p>\n<ul>\n<li><p><strong>200 OK</strong>: Indicates that the invite was successfully resent. The response may include the following fields:</p>\n<ul>\n<li><p><code>_id</code>: The unique identifier of the invite.</p>\n</li>\n<li><p><code>event</code>: The event associated with the invite.</p>\n</li>\n<li><p><code>email</code>: The email of the recipient.</p>\n</li>\n<li><p><code>city</code>: The city of the recipient.</p>\n</li>\n<li><p><code>timezone</code>: The timezone of the recipient.</p>\n</li>\n<li><p><code>createdAt</code>: Timestamp of when the invite was created.</p>\n</li>\n<li><p><code>updatedAt</code>: Timestamp of when the invite was last updated.</p>\n</li>\n<li><p><code>__v</code>: Version key for the invite document.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>201 Created</strong>: Indicates that a new resource has been created as a result of the request. The response may include:</p>\n<ul>\n<li><p><code>token</code>: A token associated with the invite.</p>\n</li>\n<li><p><code>title</code>: The title of the event.</p>\n</li>\n<li><p><code>description</code>: A brief description of the event.</p>\n</li>\n<li><p><code>date</code>: The date of the event.</p>\n</li>\n<li><p><code>durationMinutes</code>: Duration of the event in minutes.</p>\n</li>\n<li><p><code>location</code>: The location of the event.</p>\n</li>\n<li><p><code>createdBy</code>: The user who created the invite.</p>\n</li>\n<li><p><code>_id</code>: The unique identifier of the newly created resource.</p>\n</li>\n<li><p><code>createdAt</code>: Timestamp of when the resource was created.</p>\n</li>\n<li><p><code>updatedAt</code>: Timestamp of when the resource was last updated.</p>\n</li>\n<li><p><code>__v</code>: Version key for the resource document.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>Ensure that the <code>inviteId</code> and <code>recipientId</code> are valid and exist in the system before making the request.</p>\n</li>\n<li><p>The response structure may vary slightly based on the specific operation and the data associated with the invite and recipient.</p>\n</li>\n<li><p>Always check for the appropriate status codes to determine the outcome of your request.</p>\n</li>\n</ul>\n<p>This endpoint is essential for managing invitations effectively and ensuring that recipients receive the necessary information regarding events.</p>\n","urlObject":{"path":["invites","688b71d9b12ec0926736a1e6","resend","688b9dc04c7f6dd6ae56edcb"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1774148b-a690-4c06-bfdf-025568dce3e4"},{"name":"Delete Invitee","id":"6ba24ef3-acdb-4e6a-ba85-8f250dfe2bb9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{vault:json-web-token}}","type":"text"}],"url":"{{URL}}/invites/688b71d9b12ec0926736a1e6/remove/688b9dee4c7f6dd6ae56edd0","description":"<h2 id=\"delete-invitesinviteidremoveuserid\">DELETE /invites/{inviteId}/remove/{userId}</h2>\n<p>This endpoint is used to remove a specific invitation associated with a given user from the system. By executing this request, the specified invite will be deleted, which may affect the user's access to the associated event.</p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><p><code>inviteId</code> (path parameter): The unique identifier of the invitation to be removed.</p>\n</li>\n<li><p><code>userId</code> (path parameter): The unique identifier of the user whose invitation is being removed.</p>\n</li>\n</ul>\n<h3 id=\"response-structure\">Response Structure</h3>\n<p>Upon a successful deletion, the API will return a response with a status code of 200 and a message indicating the result of the operation. The response will be in the following format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"\"\n}\n\n</code></pre>\n<h3 id=\"related-responses\">Related Responses</h3>\n<p>This endpoint is part of a broader API that manages events and invitations. Other endpoints may return various data structures, including details about events, users, and invitations, typically containing fields such as <code>_id</code>, <code>title</code>, <code>description</code>, <code>date</code>, <code>durationMinutes</code>, <code>location</code>, <code>createdBy</code>, and timestamps for creation and updates.</p>\n<p>Overall, this DELETE request is crucial for maintaining the integrity of event invitations and ensuring that users have the correct access to events.</p>\n","urlObject":{"path":["invites","688b71d9b12ec0926736a1e6","remove","688b9dee4c7f6dd6ae56edd0"],"host":["{{URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6ba24ef3-acdb-4e6a-ba85-8f250dfe2bb9"}],"id":"7480ec17-3b51-4107-b263-d05f9a5691b1","_postman_id":"7480ec17-3b51-4107-b263-d05f9a5691b1","description":""}]}