{"info":{"_postman_id":"b8b8da8d-b0d4-4f19-bcf0-caca225b17a4","name":"TiffinFlex API","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"50839260","collectionId":"b8b8da8d-b0d4-4f19-bcf0-caca225b17a4","publishedId":"2sBXqKofJx","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-05-02T16:28:54.000Z"},"item":[{"name":"Register User","id":"880950db-b123-40ca-a5fc-f3014d106775","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Test User\",\r\n  \"email\": \"test@example.com\",\r\n  \"password\": \"password123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tiffinflex.onrender.com/api/auth/register","description":"<h2 id=\"register-user\">Register User</h2>\n<p>Registers a new user account and initiates email verification via OTP (One-Time Password). Upon successful registration, the server sends an OTP to the provided email address. The user must verify their email before the account is fully activated.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request body must be sent as raw JSON with the following required parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The full name of the user to register.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The email address for the new account. Must be a valid email format. This is where the OTP will be sent.</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The password for the new account.</td>\n</tr>\n</tbody>\n</table>\n</div><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\": \"Test User\",\n  \"email\": \"test@example.com\",\n  \"password\": \"password123\"\n}\n</code></pre>\n<h3 id=\"successful-response-201-created\">Successful Response (201 Created)</h3>\n<p>A <code>201 Created</code> status indicates the user has been registered and an OTP has been dispatched to the provided email.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"OTP sent to your email. Please verify to complete registration.\",\n  \"email\": \"test@example.com\",\n  \"requiresVerification\": true\n}\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>message</code></td>\n<td>string</td>\n<td>A human-readable message confirming that the OTP has been sent.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>The email address to which the OTP was sent.</td>\n</tr>\n<tr>\n<td><code>requiresVerification</code></td>\n<td>boolean</td>\n<td>Indicates that the account requires email verification before it can be used. Always <code>true</code> on successful registration.</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p><strong>Note:</strong> Registration alone does not complete the account setup. After receiving the OTP at the registered email address, the user must call the <strong>Verify OTP</strong> endpoint to confirm their email and activate the account.</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","auth","register"],"host":["tiffinflex","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"3232eb91-dd5b-4834-a0bb-f5ba5d492c6e","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Test User\",\r\n  \"email\": \"test@example.com\",\r\n  \"password\": \"password123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://tiffinflex.onrender.com/api/auth/register"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":":status","value":201},{"key":"date","value":"Sat, 02 May 2026 16:21:23 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"106"},{"key":"access-control-allow-credentials","value":"true"},{"key":"content-encoding","value":"br"},{"key":"etag","value":"W/\"84-aOHREgteCov+bJCxBdO7a11x/T8\""},{"key":"rndr-id","value":"63cee7fd-e746-441d"},{"key":"server","value":"cloudflare"},{"key":"vary","value":"Origin, Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"cf-ray","value":"9f585bc4fd663c2e-BOM"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"OTP sent to your email. Please verify to complete registration.\",\n    \"email\": \"test@example.com\",\n    \"requiresVerification\": true\n}"}],"_postman_id":"880950db-b123-40ca-a5fc-f3014d106775"},{"name":"Verify OTP","id":"0f4c248b-005c-4ac7-9dcf-c3b848bedb8e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"test@example.com\",\r\n  \"otp\": \"686425\" \r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/verify-otp","urlObject":{"protocol":"http","port":"5000","path":["api","auth","verify-otp"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"966e9f96-c1ee-484a-9289-a383a0f0fcbc","name":"Verify OTP","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"test@example.com\",\r\n  \"otp\": \"686425\" \r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/verify-otp"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"331"},{"key":"ETag","value":"W/\"14b-XmFbai95HIvAWqlef2++WwAnRRE\""},{"key":"Date","value":"Sat, 02 May 2026 16:24:52 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"_id\": \"69f6248104908590945084a0\",\n    \"name\": \"Test User\",\n    \"email\": \"test@example.com\",\n    \"diet\": \"Vegetarian\",\n    \"plan\": \"starter\",\n    \"role\": \"user\",\n    \"isVerified\": true,\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5ZjYyNDgxMDQ5MDg1OTA5NDUwODRhMCIsImlhdCI6MTc3NzczOTA5MiwiZXhwIjoxNzgwMzMxMDkyfQ.GtEODqVzGlI9RRxls7wTGQGaE1zYHbX3cRJO_zlPvMY\"\n}"}],"_postman_id":"0f4c248b-005c-4ac7-9dcf-c3b848bedb8e"}]}