{"openapi":"3.0.0","paths":{"/auth/register":{"post":{"operationId":"AuthController_register_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDto"}}}},"responses":{"201":{"description":"Account created; OTP sent to email","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"session_id":{"type":"string"}}},"message":{"type":"string","example":"Registration successful. Please verify your email."}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"summary":"Register a new Family Admin account","tags":["auth"]}},"/auth/logout":{"post":{"operationId":"AuthController_logout_1","parameters":[],"responses":{"201":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Logout and clear session","tags":["auth"]}},"/auth/info":{"post":{"operationId":"AuthController_updateInfo_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInfoDto"}}}},"responses":{"201":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update session info","tags":["auth"]}},"/auth/user":{"post":{"operationId":"AuthController_loginAs_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginAsDto"}}}},"responses":{"201":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Login on behalf of another user (Admin)","tags":["auth"]}},"/auth/token":{"post":{"operationId":"AuthController_token_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenAuthDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"token":{"type":"string"},"refresh_token":{"type":"string"},"token_expiry":{"type":"string","format":"date-time"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"summary":"Get new token with refresh token","tags":["auth"]}},"/auth/password/forgot":{"post":{"operationId":"AuthController_forgotPassword_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"session_id":{"type":"string"}}},"message":{"type":"string","example":"OTP sent"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"summary":"Forgot password","tags":["auth"]}},"/auth/otp/send":{"post":{"operationId":"AuthController_sendOtp_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendOtpDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"session_id":{"type":"string"}}},"message":{"type":"string","example":"OTP sent"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"summary":"Resend OTP","tags":["auth"]}},"/auth/otp/verify":{"post":{"operationId":"AuthController_verifyOtp_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyOtpDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"session_id":{"type":"string"}}},"message":{"type":"string","example":"OTP verified"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"summary":"Verify OTP","tags":["auth"]}},"/auth/password/reset":{"post":{"operationId":"AuthController_resetPassword_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","example":"Password changed"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"summary":"Reset password","tags":["auth"]}},"/auth/local":{"post":{"operationId":"LocalAuthController_localLogin_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocalAuthDto"}}}},"responses":{"200":{"description":"Login success","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"},"token":{"type":"string"},"token_expiry":{"type":"string","format":"date-time"},"refresh_token":{"type":"string"}}},"message":{"type":"string","example":"Created"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":401},"error":{"type":"string","example":"Unauthorized"},"message":{"type":"string","example":"Invalid credentials"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"summary":"Local authentication","tags":["auth"]}},"/user":{"post":{"operationId":"UserController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Create a new user","tags":["user"]},"get":{"operationId":"UserController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"users":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all users","tags":["user"]}},"/user/me":{"put":{"operationId":"UserController_updateMe_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update logged in user details","tags":["user"]},"get":{"operationId":"UserController_findMe_1","parameters":[{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get logged in user details with active subscription and plan","tags":["user"]}},"/user/password":{"put":{"operationId":"UserController_changePassword_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDto"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","example":"Password changed"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Change password for logged in user","tags":["user"]}},"/user/{uid}":{"put":{"operationId":"UserController_update_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update a user using uid","tags":["user"]},"get":{"operationId":"UserController_findByUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get a user using uid","tags":["user"]},"delete":{"operationId":"UserController_delete_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Delete a user using uid (SuperAdmin only)","tags":["user"]}},"/user/count":{"get":{"operationId":"UserController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of users (excludes super_admin)","tags":["user"]}},"/user/find":{"get":{"operationId":"UserController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find a user","tags":["user"]}},"/user/me/email":{"post":{"operationId":"UserController_requestEmailChange_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestEmailChangeDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"session_id":{"type":"string"}}},"message":{"type":"string","example":"OTP sent"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Request email change — OTP sent to current email","tags":["user"]}},"/user/me/email/verify":{"post":{"operationId":"UserController_verifyEmailChange_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyOtpDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","example":"Email updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Verify OTP and update email","tags":["user"]}},"/user/{uid}/block":{"put":{"operationId":"UserController_blockUser_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Block a user by setting status to suspended (SuperAdmin only)","tags":["user"]}},"/user/{uid}/unblock":{"put":{"operationId":"UserController_unblockUser_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Unblock a user by setting status to active (SuperAdmin only)","tags":["user"]}},"/elder_profile":{"post":{"operationId":"ElderProfileController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElderProfileDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_profile":{"$ref":"#/components/schemas/ElderProfile"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Create new elder_profile","tags":["elder_profile"]},"get":{"operationId":"ElderProfileController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"elder_profiles":{"type":"array","items":{"$ref":"#/components/schemas/ElderProfile"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all elder_profiles","tags":["elder_profile"]}},"/elder_profile/{uid}":{"put":{"operationId":"ElderProfileController_update_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElderProfileDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_profile":{"$ref":"#/components/schemas/ElderProfile"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update elder_profile using uid","tags":["elder_profile"]},"get":{"operationId":"ElderProfileController_findByUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_profile":{"$ref":"#/components/schemas/ElderProfile"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find elder_profile using uid","tags":["elder_profile"]},"delete":{"operationId":"ElderProfileController_delete_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_profile":{"$ref":"#/components/schemas/ElderProfile"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Delete elder_profile using uid","tags":["elder_profile"]}},"/elder_profile/my":{"get":{"operationId":"ElderProfileController_myElders_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"elder_profiles":{"type":"array","items":{"$ref":"#/components/schemas/ElderProfile"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get elders accessible to the current user","tags":["elder_profile"]}},"/elder_profile/count":{"get":{"operationId":"ElderProfileController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of elder_profiles","tags":["elder_profile"]}},"/elder_profile/find":{"get":{"operationId":"ElderProfileController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_profile":{"$ref":"#/components/schemas/ElderProfile"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one elder_profile","tags":["elder_profile"]}},"/elder_access":{"post":{"operationId":"ElderAccessController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElderAccessDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_access":{"$ref":"#/components/schemas/ElderAccess"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Grant user access to an elder","tags":["elder_access"]},"get":{"operationId":"ElderAccessController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"elder_accesses":{"type":"array","items":{"$ref":"#/components/schemas/ElderAccess"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all elder_accesses","tags":["elder_access"]}},"/elder_access/{uid}":{"put":{"operationId":"ElderAccessController_update_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElderAccessDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_access":{"$ref":"#/components/schemas/ElderAccess"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update elder_access using uid","tags":["elder_access"]},"get":{"operationId":"ElderAccessController_findByUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_access":{"$ref":"#/components/schemas/ElderAccess"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find elder_access using uid","tags":["elder_access"]},"delete":{"operationId":"ElderAccessController_delete_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_access":{"$ref":"#/components/schemas/ElderAccess"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Revoke elder access using uid","tags":["elder_access"]}},"/elder_access/count":{"get":{"operationId":"ElderAccessController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of elder_accesses","tags":["elder_access"]}},"/elder_access/find":{"get":{"operationId":"ElderAccessController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"elder_access":{"$ref":"#/components/schemas/ElderAccess"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one elder_access","tags":["elder_access"]}},"/schedule_kind":{"post":{"operationId":"ScheduleKindController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScheduleKindDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule_kind":{"$ref":"#/components/schemas/ScheduleKind"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Create custom schedule_kind","tags":["schedule_kind"]},"get":{"operationId":"ScheduleKindController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"schedule_kinds":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleKind"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all schedule_kinds","tags":["schedule_kind"]}},"/schedule_kind/{uid}":{"put":{"operationId":"ScheduleKindController_update_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScheduleKindDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule_kind":{"$ref":"#/components/schemas/ScheduleKind"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update schedule_kind using uid","tags":["schedule_kind"]},"get":{"operationId":"ScheduleKindController_findByUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule_kind":{"$ref":"#/components/schemas/ScheduleKind"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find schedule_kind using uid","tags":["schedule_kind"]},"delete":{"operationId":"ScheduleKindController_delete_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule_kind":{"$ref":"#/components/schemas/ScheduleKind"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Delete custom schedule_kind using uid","tags":["schedule_kind"]}},"/schedule_kind/my":{"get":{"operationId":"ScheduleKindController_myScheduleKinds_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"schedule_kinds":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleKind"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get schedule_kinds for current user","tags":["schedule_kind"]}},"/schedule_kind/count":{"get":{"operationId":"ScheduleKindController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of schedule_kinds","tags":["schedule_kind"]}},"/schedule_kind/find":{"get":{"operationId":"ScheduleKindController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule_kind":{"$ref":"#/components/schemas/ScheduleKind"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one schedule_kind","tags":["schedule_kind"]}},"/schedule":{"post":{"operationId":"ScheduleController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScheduleDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule":{"$ref":"#/components/schemas/Schedule"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Create new schedule","tags":["schedule"]},"get":{"operationId":"ScheduleController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"schedules":{"type":"array","items":{"$ref":"#/components/schemas/Schedule"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all schedules","tags":["schedule"]}},"/schedule/{uid}":{"put":{"operationId":"ScheduleController_update_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScheduleDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule":{"$ref":"#/components/schemas/Schedule"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update schedule using uid","tags":["schedule"]},"get":{"operationId":"ScheduleController_findByUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule":{"$ref":"#/components/schemas/Schedule"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find schedule using uid","tags":["schedule"]},"delete":{"operationId":"ScheduleController_delete_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule":{"$ref":"#/components/schemas/Schedule"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Delete schedule using uid","tags":["schedule"]}},"/schedule/my":{"get":{"operationId":"ScheduleController_mySchedules_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}},{"name":"elder_id","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"schedules":{"type":"array","items":{"$ref":"#/components/schemas/Schedule"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all schedules for the current user's elders","tags":["schedule"]}},"/schedule/count":{"get":{"operationId":"ScheduleController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of schedules","tags":["schedule"]}},"/schedule/find":{"get":{"operationId":"ScheduleController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"schedule":{"$ref":"#/components/schemas/Schedule"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one schedule","tags":["schedule"]}},"/call":{"post":{"operationId":"CallController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCallDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"call":{"$ref":"#/components/schemas/Call"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Create new call","tags":["call"]},"get":{"operationId":"CallController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"calls":{"type":"array","items":{"$ref":"#/components/schemas/Call"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all calls","tags":["call"]}},"/call/{uid}":{"put":{"operationId":"CallController_update_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCallDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"call":{"$ref":"#/components/schemas/Call"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update call using uid","tags":["call"]},"get":{"operationId":"CallController_findByUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"call":{"$ref":"#/components/schemas/Call"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find call using uid","tags":["call"]},"delete":{"operationId":"CallController_delete_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"call":{"$ref":"#/components/schemas/Call"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Delete call using uid","tags":["call"]}},"/call/stats":{"get":{"operationId":"CallController_getStats_1","parameters":[],"responses":{"200":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get call stats for the current week (scoped to logged-in user)","tags":["call"]}},"/call/count":{"get":{"operationId":"CallController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of calls","tags":["call"]}},"/call/find":{"get":{"operationId":"CallController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"call":{"$ref":"#/components/schemas/Call"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one call","tags":["call"]}},"/call/my":{"get":{"description":"Supports filtering by elder, tone, outcome, type, and date range. Returns page-based pagination meta.","operationId":"CallController_findMy_1","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":10,"type":"number"}},{"name":"elderId","required":false,"in":"query","description":"Filter by elder profile ID","schema":{"type":"number"}},{"name":"tone","required":false,"in":"query","description":"Filter by mood/sentiment (tone)","schema":{"type":"string","enum":["Neutral","Happy","Sadness","Anxiety","Loneliness","Confusion","Frustration"]}},{"name":"outcome","required":false,"in":"query","description":"Filter by call status (outcome). Repeat the param to pass multiple, e.g. outcome=pending&outcome=initiated","schema":{"type":"array","items":{"type":"string","enum":["pending","initiated","in_progress","completed","failed","no_answer","missed"]}}},{"name":"type","required":false,"in":"query","description":"Filter by schedule kind slug (e.g. med, meal, checkin)","schema":{"type":"string"}},{"name":"dateFrom","required":false,"in":"query","description":"Inclusive start date/datetime (ISO 8601)","schema":{"type":"string"}},{"name":"dateTo","required":false,"in":"query","description":"Inclusive end date/datetime (ISO 8601)","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"created_at","type":"string","enum":["created_at","duration_seconds"]}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"DESC","type":"string","enum":["ASC","DESC"]}}],"responses":{"200":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get calls scoped to the logged-in user's elders","tags":["call"]}},"/call/elder/{uid}/mood-history":{"get":{"description":"Returns AI-detected sentiment counts across calls in the past N days (default 30). Access is verified — the caller must own this elder.","operationId":"CallController_getMoodHistory_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"days","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get mood history for a specific elder (sentiment breakdown)","tags":["call"]}},"/call/elder/{uid}":{"get":{"description":"Returns paginated call logs scoped to the given elder. Access is verified — the caller must own this elder. Supports the same filters, sort, and pagination as GET /call/my.","operationId":"CallController_findByElderUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":10,"type":"number"}},{"name":"elderId","required":false,"in":"query","description":"Filter by elder profile ID","schema":{"type":"number"}},{"name":"tone","required":false,"in":"query","description":"Filter by mood/sentiment (tone)","schema":{"type":"string","enum":["Neutral","Happy","Sadness","Anxiety","Loneliness","Confusion","Frustration"]}},{"name":"outcome","required":false,"in":"query","description":"Filter by call status (outcome). Repeat the param to pass multiple, e.g. outcome=pending&outcome=initiated","schema":{"type":"array","items":{"type":"string","enum":["pending","initiated","in_progress","completed","failed","no_answer","missed"]}}},{"name":"type","required":false,"in":"query","description":"Filter by schedule kind slug (e.g. med, meal, checkin)","schema":{"type":"string"}},{"name":"dateFrom","required":false,"in":"query","description":"Inclusive start date/datetime (ISO 8601)","schema":{"type":"string"}},{"name":"dateTo","required":false,"in":"query","description":"Inclusive end date/datetime (ISO 8601)","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"created_at","type":"string","enum":["created_at","duration_seconds"]}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"DESC","type":"string","enum":["ASC","DESC"]}}],"responses":{"200":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get call logs for a specific elder by their UID","tags":["call"]}},"/call/admin/all":{"get":{"description":"Returns paginated call logs for every elder in the system, not scoped to the requesting user. Each row includes a family_admins array (uid, name, email) of every user with access to that elder. Supports filtering by elder, tone, outcome, type, date range, and free-text search across elder name/phone and call summary/call_sid.","operationId":"CallController_findAllAdmin_1","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":10,"type":"number"}},{"name":"elderId","required":false,"in":"query","description":"Filter by elder profile ID","schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search by elder name/phone or call summary/call_sid (case-insensitive, partial match)","schema":{"type":"string"}},{"name":"tone","required":false,"in":"query","description":"Filter by mood/sentiment (tone)","schema":{"type":"string","enum":["Neutral","Happy","Sadness","Anxiety","Loneliness","Confusion","Frustration"]}},{"name":"outcome","required":false,"in":"query","description":"Filter by call status (outcome). Repeat the param to pass multiple, e.g. outcome=pending&outcome=initiated","schema":{"type":"array","items":{"type":"string","enum":["pending","initiated","in_progress","completed","failed","no_answer","missed"]}}},{"name":"type","required":false,"in":"query","description":"Filter by schedule kind slug (e.g. med, meal, checkin)","schema":{"type":"string"}},{"name":"dateFrom","required":false,"in":"query","description":"Inclusive start date/datetime (ISO 8601)","schema":{"type":"string"}},{"name":"dateTo","required":false,"in":"query","description":"Inclusive end date/datetime (ISO 8601)","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"created_at","type":"string","enum":["created_at","duration_seconds"]}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"DESC","type":"string","enum":["ASC","DESC"]}}],"responses":{"200":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all call logs across all users (super admin only)","tags":["call"]}},"/call/webhook":{"post":{"operationId":"CallWebhookController_handle_1","parameters":[{"name":"x-retell-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"summary":"RetellAI webhook receiver","tags":["call"]}},"/call/time-check":{"post":{"operationId":"CallTimeCheckController_handle_1","parameters":[],"responses":{"201":{"description":""}},"summary":"RetellAI custom tool: report whether the call should wrap up","tags":["call"]}},"/alerts":{"get":{"operationId":"AlertController_getAlerts_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Filter by acknowledgement status","schema":{"default":"all","type":"string","enum":["all","acknowledged","unacknowledged"]}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Get all alerts for the current user's elders","tags":["alert"]}},"/alerts/acknowledge-all":{"patch":{"operationId":"AlertController_acknowledgeAll_1","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Acknowledge all unacknowledged alerts","tags":["alert"]}},"/alerts/{uid}/acknowledge":{"patch":{"operationId":"AlertController_acknowledgeAlert_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Acknowledge a single alert","tags":["alert"]}},"/contact":{"post":{"operationId":"ContactController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Submit a contact form","tags":["contact"]},"get":{"operationId":"ContactController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all contacts","tags":["contact"]}},"/contact/count":{"get":{"operationId":"ContactController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of contacts","tags":["contact"]}},"/contact/find":{"get":{"operationId":"ContactController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one contact","tags":["contact"]}},"/contact/{id}":{"get":{"operationId":"ContactController_findById_1","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find contact using id","tags":["contact"]},"delete":{"operationId":"ContactController_delete_1","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"contact":{"$ref":"#/components/schemas/Contact"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Delete contact using id","tags":["contact"]}},"/plan":{"post":{"operationId":"PlanController_create_1","parameters":[{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlanDto"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"plan":{"$ref":"#/components/schemas/Plan"}}},"message":{"type":"string","example":"Created"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Create new plan","tags":["plan"]},"get":{"operationId":"PlanController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"plans":{"type":"array","items":{"$ref":"#/components/schemas/Plan"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all active plans","tags":["plan"]}},"/plan/{uid}":{"put":{"operationId":"PlanController_update_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePlanDto"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"plan":{"$ref":"#/components/schemas/Plan"}}},"message":{"type":"string","example":"Updated"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Update plan using uid","tags":["plan"]},"get":{"operationId":"PlanController_findByUid_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"plan":{"$ref":"#/components/schemas/Plan"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find plan using uid","tags":["plan"]},"delete":{"operationId":"PlanController_delete_1","parameters":[{"name":"uid","required":true,"in":"path","schema":{"type":"string"}},{"name":"mode","required":false,"in":"query","description":"Delete mode","examples":{"soft":{"summary":"Soft delete mode","value":"soft"},"hard":{"summary":"Hard delete mode","value":"hard"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"plan":{"$ref":"#/components/schemas/Plan"}}},"message":{"type":"string","example":"Deleted"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Delete plan using uid","tags":["plan"]}},"/plan/count":{"get":{"operationId":"PlanController_countAll_1","parameters":[{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"count":{"type":"number","description":"Total no of records available","example":10}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get count of plans","tags":["plan"]}},"/plan/find":{"get":{"operationId":"PlanController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"plan":{"$ref":"#/components/schemas/Plan"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one plan","tags":["plan"]}},"/subscription/my/cancel":{"post":{"description":"By default the subscription remains active until the end of the current billing period. Pass `immediately: true` to cancel (and revoke access) right away.","operationId":"SubscriptionController_cancel_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelSubscriptionDto"}}}},"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Cancel the current user subscription","tags":["subscription"]}},"/subscription/my/resume":{"post":{"description":"Reverses a `cancel_at_period_end` cancellation so the subscription renews as normal. Nothing is charged now — the current paid period is kept and billing resumes at its end. Only possible while the subscription is still within that period; once it has actually ended, a new subscription must be started via `/payment/initiate`.","operationId":"SubscriptionController_resume_1","parameters":[],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Stop a pending cancellation on the current user subscription","tags":["subscription"]}},"/subscription/my":{"get":{"operationId":"SubscriptionController_mySubscription_1","parameters":[],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get the current user subscription","tags":["subscription"]}},"/subscription":{"get":{"description":"Pass `search` to search across user full name, email, and transaction ID (stripe_subscription_id).","operationId":"SubscriptionController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all subscriptions","tags":["subscription"]}},"/subscription/find":{"get":{"operationId":"SubscriptionController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one subscription","tags":["subscription"]}},"/transaction/my":{"get":{"operationId":"TransactionController_myTransactions_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/Transaction"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all transactions for the current user","tags":["transaction"]}},"/transaction":{"get":{"operationId":"TransactionController_findAll_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Limit for Pagination","examples":{"default":{"summary":"Default limit","value":10},"custom":{"summary":"Custom limit","value":25},"empty":{"summary":"Without limit","value":-1}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"offset":{"type":"number","description":"No of records to skip","example":0},"limit":{"type":"number","description":"No of records to take","example":10},"count":{"type":"number","description":"Total no of records available","example":10},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/Transaction"}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get all transactions","tags":["transaction"]}},"/transaction/find":{"get":{"operationId":"TransactionController_findOne_1","parameters":[{"name":"offset","required":false,"in":"query","description":"Offset for Pagination","examples":{"default":{"summary":"Default offset","value":0},"custom":{"summary":"Custom offset","value":25}},"schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Search Keyword","examples":{"empty":{"summary":"No search"},"default":{"summary":"Search string","value":"search text"},"scope":{"summary":"Search with scope","value":"[\"scope\",\"search text\"]"}},"schema":{"type":"string"}},{"name":"select","required":false,"in":"query","description":"Select fields to return","examples":{"empty":{"summary":"Select all fields"},"specific":{"summary":"Select specific fields","value":"[\"id\",\"name\"]"},"populate":{"summary":"Select specific fields from populate","value":"[\"id\",\"name\",\"populate_1.id\",\"populate_1.title\"]"}},"schema":{"type":"string"}},{"name":"where","required":false,"in":"query","description":"Where conditions for filtering records","examples":{"empty":{"summary":"All records"},"equals":{"summary":"Equal conditions","value":"{\"field_1\":\"value\",\"field_2\":true,\"field_3\":null}"},"others":{"summary":"Other conditions","value":"{\"field_1\":{\"$ne\":\"value\"},\"field_2\":{\"$gte\":5,\"$lte\":10},\"field_3\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"},"populate":{"summary":"Populate conditions","value":"{\"$populate_1.field_1$\":\"value\",\"$populate_1.field_2$\":{\"$gte\":5,\"$lte\":10},\"$populate_2.field_3$\":{\"$in\":[1,2],\"$notIn\":[3,4]}}"}},"schema":{"type":"string"}},{"name":"populate","required":false,"in":"query","description":"Populate Relations","examples":{"empty":{"summary":"No populate"},"simple":{"summary":"Direct populate","value":"[\"populate_1\",\"populate_2\"]"},"nested":{"summary":"Nested populate","value":"[\"populate_1\",\"populate_1.child_populate_1\",\"populate_1.child_populate_2\"]"}},"schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","description":"Scope (Predefined Conditions)","examples":{"empty":{"summary":"No scope"},"simple":{"summary":"With scope","value":"[\"scope_1\",\"scope_2\"]"},"advanced":{"summary":"With scope and options","value":"[[\"scope_1\",\"option_1\",\"option_2\"],\"scope_2\"]"}},"schema":{"type":"string"}},{"name":"sort","required":false,"in":"query","description":"Sort order of records","examples":{"empty":{"summary":"Default sort"},"single":{"summary":"Sort single","value":"[\"field_1\"]"},"multi":{"summary":"Sort multi","value":"[\"field_1\",\"field_2\"]"},"desc":{"summary":"Sort direction","value":"[[\"field_1\",\"desc\"],[\"field_2\",\"asc\"]]"},"populate":{"summary":"Sort populate","value":"[[\"populate_1\",\"field_1\",\"desc\"],[\"populate_2\",\"field_2\",\"asc\"]]"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Find one transaction","tags":["transaction"]}},"/payment/initiate":{"post":{"operationId":"PaymentController_initiatePayment_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiatePaymentDto"}}}},"responses":{"201":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Create a Stripe Subscription and return client_secret for frontend card confirmation","tags":["payment"]}},"/payment/confirm":{"post":{"operationId":"PaymentController_confirmPayment_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmPaymentDto"}}}},"responses":{"201":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Verify subscription status after frontend card confirmation","tags":["payment"]}},"/payment/upgrade-preview":{"get":{"operationId":"PaymentController_upgradePreview_1","parameters":[{"name":"plan_id","required":true,"in":"query","description":"Plan ID to preview upgrading to","schema":{"example":1,"type":"number"}}],"responses":{"200":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Preview the prorated cost of upgrading to another plan","tags":["payment"]}},"/payment/upgrade":{"post":{"operationId":"PaymentController_upgradePlan_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpgradePlanDto"}}}},"responses":{"201":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Upgrade the current subscription to another plan","tags":["payment"]}},"/payment/webhook":{"post":{"operationId":"PaymentController_handleWebhook_1","parameters":[{"name":"stripe-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Stripe webhook handler (internal)","tags":["payment"]}},"/dashboard":{"get":{"operationId":"DashboardController_getDashboard_1","parameters":[],"responses":{"200":{"description":"Dashboard stats","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"total_users":{"type":"number"},"active_subscriptions":{"type":"number"},"revenue_cents":{"type":"number"},"revenue":{"type":"string","example":"1114.94"},"failed_payments":{"type":"number"},"total_loved_ones":{"type":"number"},"total_call_logs":{"type":"number"},"recent_signups":{"type":"array","items":{"type":"object"}},"recent_subscriptions":{"type":"array","items":{"type":"object","properties":{"uid":{"type":"string"},"user_id":{"type":"number"},"plan_id":{"type":"number"},"stripe_subscription_id":{"type":"string","nullable":true},"status":{"type":"string","enum":["active","cancelled","expired","past_due"]},"started_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time","nullable":true},"cancel_at_period_end":{"type":"boolean"},"amount":{"type":"number","description":"Plan price in cents, e.g. 8900 = $89.00"},"created_at":{"type":"string","format":"date-time"}}}},"recent_calls":{"type":"array","items":{"type":"object","properties":{"loved_one_name":{"type":"string"},"call_start_at":{"type":"string","format":"date-time"},"duration_seconds":{"type":"number"},"outcome":{"type":"string","enum":["completed","missed","no_answer"]}}}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get admin dashboard stats and recent activity","tags":["dashboard"]}},"/dashboard/family":{"get":{"operationId":"FamilyDashboardController_getDashboard_1","parameters":[],"responses":{"200":{"description":"Family dashboard overview","content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"kpis":{"type":"object","properties":{"calls_this_week":{"type":"number"},"reminders_completed":{"type":"number"},"active_alerts":{"type":"number"},"average_mood_score":{"type":"number","nullable":true,"description":"1-5 scale (Happy=5, Low energy=3, Confused=2, Sad=1). NoAnswer calls are excluded from the average since no mood was observed. Null when there is no scored data this week."}}},"recent_calls":{"type":"array","items":{"type":"object","properties":{"call_uid":{"type":"string"},"call_type":{"type":"string","example":"Medication"},"loved_one_name":{"type":"string","nullable":true},"call_time":{"type":"string","format":"date-time","nullable":true},"duration_seconds":{"type":"number","nullable":true},"status":{"type":"string","enum":["No Answer","Missed","Completed","In Progress"],"description":"Call connection/outcome status."},"mood":{"type":"string","nullable":true,"enum":["Neutral","Happy","Sadness","Anxiety","Loneliness","Confusion","Frustration"],"description":"Elder's sentiment from RetellAI post-call analysis, when available."}}}},"weekly_mood":{"type":"array","items":{"type":"object","properties":{"mood":{"type":"string","enum":["Happy","Sad","Confused","Low energy","No answer"]},"count":{"type":"number"},"percentage":{"type":"number"}}}},"todays_schedule":{"type":"array","items":{"type":"object","properties":{"schedule_id":{"type":"number"},"time":{"type":"string","format":"date-time"},"reminder_type":{"type":"string","example":"Medication"},"status":{"type":"string","enum":["completed","missed","pending"]}}}},"active_alerts_list":{"type":"array","items":{"type":"object","properties":{"uid":{"type":"string"},"title":{"type":"string"},"loved_one_name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"}}}}}},"message":{"type":"string","example":"Ok"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"array","items":{"properties":{"property":{"type":"string","example":"email"},"value":{"type":"string","example":"invalid@email"},"constraints":{"type":"object","example":{"isEmail":"email should be a valid email"}}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string"}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"statusCode":{"type":"number","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string"}}}}}}},"security":[{"bearer":[]}],"summary":"Get family dashboard overview for the current user's elders","tags":["family_dashboard"]}}},"info":{"title":"Elder AI API","description":"REST API for the Elder AI platform.\n\n## Authentication\nMost endpoints require a Bearer token. Obtain one via **POST /auth/local**, then click **Authorize** and paste the token.\n\n## Pagination\nList endpoints accept `offset`, `limit`, `search`, `where`, `sort`, `populate`, and `scope` query parameters.\n\n## Versioning\nThe API is versioned via the `x-version` request header.","version":"v1","contact":{"name":"Elder AI Support","url":"","email":"support@elder.ai"}},"tags":[{"name":"auth","description":"Authentication — login, logout, OTP, password reset"},{"name":"user","description":"User management — CRUD and profile operations"},{"name":"elder_profile","description":"Elder profiles — create and manage elder profiles"},{"name":"schedule_kind","description":"Schedule kinds — types of schedules for elder care"},{"name":"schedule","description":"Schedules — manage elder care schedules"},{"name":"call","description":"Calls — outbound AI call records and history"}],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"RegisterDto":{"type":"object","properties":{"first_name":{"type":"string","example":"Jane"},"last_name":{"type":"string","example":"Doe"},"email":{"type":"string","example":"jane@example.com"},"phone_code":{"type":"string","example":"+1"},"phone":{"type":"string","example":"5550001234"},"password":{"type":"string","example":"SecurePass123!","minLength":8}},"required":["first_name","email","password"]},"UpdateInfoDto":{"type":"object","properties":{"session_id":{"type":"string","description":"Session ID","example":1},"info":{"type":"object","description":"Additional session info","example":{"device":"iOS","device_token":"token"}}},"required":["info"]},"LoginAsDto":{"type":"object","properties":{"user_id":{"type":"number","format":"int32","description":"User ID","example":1}},"required":["user_id"]},"TokenAuthDto":{"type":"object","properties":{"refresh_token":{"type":"string","description":"Refresh Token","example":"token"}},"required":["refresh_token"]},"ForgotPasswordDto":{"type":"object","properties":{"email":{"type":"string","description":"Email","example":"admin@admin.com"},"is_admin":{"type":"boolean","description":"Set to true when requesting from the admin dashboard","example":true}},"required":["email"]},"SendOtpDto":{"type":"object","properties":{"session_id":{"type":"string","description":"Session ID","example":"60659e99e61b6b3bbc7b5051"}},"required":["session_id"]},"VerifyOtpDto":{"type":"object","properties":{"session_id":{"type":"string","description":"Session ID","example":"60659e99e61b6b3bbc7b5051"},"otp":{"type":"string","description":"OTP","example":"123456"}},"required":["session_id","otp"]},"ResetPasswordDto":{"type":"object","properties":{"session_id":{"type":"string","description":"Session ID","example":"60659e99e61b6b3bbc7b5051"},"password":{"type":"string","description":"Password","example":"123456"}},"required":["session_id","password"]},"User":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","example":"a926d382-6741-4d95-86cf-1f5c421cf654","readOnly":true},"email":{"type":"string","description":"Email","example":"ross.geller@gmail.com"},"password":{"type":"string","description":"Password","example":"123456","writeOnly":true},"email_verified":{"type":"boolean","description":"Email Verified?","example":false,"readOnly":true},"enable_2fa":{"type":"boolean","description":"Enable 2FA?","example":false},"first_name":{"type":"string","description":"First Name","example":"Ross"},"last_name":{"type":"string","description":"Last Name","example":"Geller"},"name":{"type":"string","description":"Full Name","example":"Ross Geller","readOnly":true},"phone_code":{"type":"string","description":"Phone Code","example":"+1"},"phone":{"type":"string","description":"Phone","example":"9999999999"},"role":{"type":"string","enum":["super_admin","owner","admin","member","view"],"description":"Role","example":"member"},"status":{"type":"string","description":"Account status","example":"active","enum":["active","invited","suspended"]},"relation":{"type":"string","description":"Relation to elder","example":"Son","enum":["Son","Daughter","Spouse","Sibling","Other"]},"invited_by":{"type":"number","description":"Invited by (users.id)","example":1,"readOnly":true},"invite_accepted_at":{"format":"date-time","type":"string","description":"Invite Accepted At","example":"2021-01-01T00:00:00Z","readOnly":true},"send_email":{"type":"boolean","description":"Receive email notifications","example":true},"send_sms":{"type":"boolean","description":"Receive SMS notifications","example":true},"last_login_at":{"format":"date-time","type":"string","description":"Last Login At","example":"2021-01-01T00:00:00Z","readOnly":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","uid","email","password","email_verified","first_name","last_name","name","role","status","last_login_at"]},"LocalAuthDto":{"type":"object","properties":{"username":{"type":"string","description":"Username","example":"admin@admin.com"},"password":{"type":"string","description":"Passsword","example":"123456"},"info":{"type":"object","description":"Additional session info","example":{"device":"iOS","device_token":"token"}},"is_admin":{"type":"boolean","description":"Set to true when logging in from the admin dashboard","example":true}},"required":["username","password","info"]},"CreateUserDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"email":{"type":"string","description":"Email","example":"ross.geller@gmail.com"},"password":{"type":"string","description":"Password","example":"123456","writeOnly":true},"enable_2fa":{"type":"boolean","description":"Enable 2FA?","example":false},"first_name":{"type":"string","description":"First Name","example":"Ross"},"last_name":{"type":"string","description":"Last Name","example":"Geller"},"phone_code":{"type":"string","description":"Phone Code","example":"+1"},"phone":{"type":"string","description":"Phone","example":"9999999999"},"role":{"type":"string","enum":["super_admin","owner","admin","member","view"],"description":"Role","example":"member"},"status":{"type":"string","description":"Account status","example":"active","enum":["active","invited","suspended"]},"relation":{"type":"string","description":"Relation to elder","example":"Son","enum":["Son","Daughter","Spouse","Sibling","Other"]},"send_email":{"type":"boolean","description":"Receive email notifications","example":true},"send_sms":{"type":"boolean","description":"Receive SMS notifications","example":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","email","password","first_name","last_name","role","status"]},"UpdateUserDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","example":"a926d382-6741-4d95-86cf-1f5c421cf654","readOnly":true},"email":{"type":"string","description":"Email","example":"ross.geller@gmail.com"},"email_verified":{"type":"boolean","description":"Email Verified?","example":false,"readOnly":true},"enable_2fa":{"type":"boolean","description":"Enable 2FA?","example":false},"first_name":{"type":"string","description":"First Name","example":"Ross"},"last_name":{"type":"string","description":"Last Name","example":"Geller"},"name":{"type":"string","description":"Full Name","example":"Ross Geller","readOnly":true},"phone_code":{"type":"string","description":"Phone Code","example":"+1"},"phone":{"type":"string","description":"Phone","example":"9999999999"},"status":{"type":"string","description":"Account status","example":"active","enum":["active","invited","suspended"]},"relation":{"type":"string","description":"Relation to elder","example":"Son","enum":["Son","Daughter","Spouse","Sibling","Other"]},"invited_by":{"type":"number","description":"Invited by (users.id)","example":1,"readOnly":true},"invite_accepted_at":{"format":"date-time","type":"string","description":"Invite Accepted At","example":"2021-01-01T00:00:00Z","readOnly":true},"send_email":{"type":"boolean","description":"Receive email notifications","example":true},"send_sms":{"type":"boolean","description":"Receive SMS notifications","example":true},"last_login_at":{"format":"date-time","type":"string","description":"Last Login At","example":"2021-01-01T00:00:00Z","readOnly":true}}},"ChangePasswordDto":{"type":"object","properties":{"password":{"type":"string","description":"Password","example":"123456","writeOnly":true},"old_password":{"type":"string","description":"Old Password","example":"123456","writeOnly":true}},"required":["password","old_password"]},"RequestEmailChangeDto":{"type":"object","properties":{"email":{"type":"string","description":"New email address","example":"new@example.com"}},"required":["email"]},"ElderProfile":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","example":"a926d382-6741-4d95-86cf-1f5c421cf654","readOnly":true},"full_name":{"type":"string","description":"Full Name","example":"Margaret Thompson"},"phone_code":{"type":"string","description":"Phone Code","example":"+1"},"phone":{"type":"string","description":"Phone Number","example":"5550001234"},"avatar":{"type":"string","description":"Avatar URL","example":"https://cdn.example.com/avatars/margaret.jpg"},"initials":{"type":"string","description":"Initials (auto-computed)","example":"MT","readOnly":true},"color":{"type":"string","description":"Avatar background color (auto-assigned hex)","example":"#4F46E5","readOnly":true},"preferred_language":{"type":"string","description":"AI call language (BCP-47 code)","example":"en-US","enum":["en-US","es-ES","pt-PT","nl-NL","zh-CN","ja-JP","ko-KR","hi-IN","vi-VN","id-ID","ms-MY","tr-TR","fr-FR","de-DE","it-IT","ru-RU","pl-PL","ro-RO","hu-HU","bg-BG","sk-SK","ca-ES","sv-SE","da-DK","no-NO","fi-FI","el-GR"]},"care_notes":{"type":"string","description":"Personality, habits, and health context fed to the AI as prompt context","example":"Margaret enjoys gardening and classical music. Hard of hearing in left ear."},"location":{"type":"string","description":"Location / City","example":"Austin, TX"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","uid","full_name","phone","initials","color"]},"CreateElderProfileDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"full_name":{"type":"string","description":"Full Name","example":"Margaret Thompson"},"phone_code":{"type":"string","description":"Phone Code","example":"+1"},"phone":{"type":"string","description":"Phone Number","example":"5550001234"},"avatar":{"type":"string","description":"Avatar URL","example":"https://cdn.example.com/avatars/margaret.jpg"},"preferred_language":{"type":"string","description":"AI call language (BCP-47 code)","example":"en-US","enum":["en-US","es-ES","pt-PT","nl-NL","zh-CN","ja-JP","ko-KR","hi-IN","vi-VN","id-ID","ms-MY","tr-TR","fr-FR","de-DE","it-IT","ru-RU","pl-PL","ro-RO","hu-HU","bg-BG","sk-SK","ca-ES","sv-SE","da-DK","no-NO","fi-FI","el-GR"]},"care_notes":{"type":"string","description":"Personality, habits, and health context fed to the AI as prompt context","example":"Margaret enjoys gardening and classical music. Hard of hearing in left ear."},"location":{"type":"string","description":"Location / City","example":"Austin, TX"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","full_name","phone"]},"UpdateElderProfileDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"full_name":{"type":"string","description":"Full Name","example":"Margaret Thompson"},"phone_code":{"type":"string","description":"Phone Code","example":"+1"},"phone":{"type":"string","description":"Phone Number","example":"5550001234"},"avatar":{"type":"string","description":"Avatar URL","example":"https://cdn.example.com/avatars/margaret.jpg"},"preferred_language":{"type":"string","description":"AI call language (BCP-47 code)","example":"en-US","enum":["en-US","es-ES","pt-PT","nl-NL","zh-CN","ja-JP","ko-KR","hi-IN","vi-VN","id-ID","ms-MY","tr-TR","fr-FR","de-DE","it-IT","ru-RU","pl-PL","ro-RO","hu-HU","bg-BG","sk-SK","ca-ES","sv-SE","da-DK","no-NO","fi-FI","el-GR"]},"care_notes":{"type":"string","description":"Personality, habits, and health context fed to the AI as prompt context","example":"Margaret enjoys gardening and classical music. Hard of hearing in left ear."},"location":{"type":"string","description":"Location / City","example":"Austin, TX"}}},"ElderAccess":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"user_id":{"type":"number","description":"User ID (family member)","example":1},"elder_id":{"type":"number","description":"Elder Profile ID","example":1}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","user_id","elder_id"]},"CreateElderAccessDto":{"type":"object","properties":{"user_id":{"type":"number","description":"User ID (family member)","example":1},"elder_id":{"type":"number","description":"Elder Profile ID","example":1}},"required":["user_id","elder_id"]},"UpdateElderAccessDto":{"type":"object","properties":{"user_id":{"type":"number","description":"User ID (family member)","example":1},"elder_id":{"type":"number","description":"Elder Profile ID","example":1}}},"ScheduleKind":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"slug":{"type":"string","description":"Kind slug","example":"med"},"name":{"type":"string","description":"Display name","example":"Medication"},"icon":{"type":"string","description":"Icon key or URL","example":"pill"},"color":{"type":"string","description":"Hex color","example":"#4CAF50"},"is_system":{"type":"boolean","description":"System kind — protected from edit/delete","example":false,"readOnly":true},"sort_order":{"type":"number","description":"Display sort order","example":0}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","slug","name","color","is_system"]},"CreateScheduleKindDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"slug":{"type":"string","description":"Kind slug","example":"med"},"name":{"type":"string","description":"Display name","example":"Medication"},"icon":{"type":"string","description":"Icon key or URL","example":"pill"},"color":{"type":"string","description":"Hex color","example":"#4CAF50"},"sort_order":{"type":"number","description":"Display sort order","example":0}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","slug","name","color"]},"UpdateScheduleKindDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"slug":{"type":"string","description":"Kind slug","example":"med"},"name":{"type":"string","description":"Display name","example":"Medication"},"icon":{"type":"string","description":"Icon key or URL","example":"pill"},"color":{"type":"string","description":"Hex color","example":"#4CAF50"},"sort_order":{"type":"number","description":"Display sort order","example":0}}},"Schedule":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","example":"b1c2d3e4-5f6a-7b8c-9d0e-1f2a3b4c5d6e","readOnly":true},"elder_id":{"type":"number","description":"Elder profile ID","example":1},"kind_id":{"type":"number","description":"Schedule kind ID","example":1},"title":{"type":"string","description":"Schedule title","example":"Morning Medication"},"detail":{"type":"string","description":"Additional detail","example":"Take with water after breakfast"},"cron":{"type":"string","description":"UTC cron expression","example":"0 13 * * 1,4,6,0"},"timezone":{"type":"string","description":"IANA timezone for display/edit roundtrip","example":"America/Los_Angeles"},"enabled":{"type":"boolean","description":"User on/off toggle","example":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","uid","elder_id","kind_id","title","cron"]},"CreateScheduleDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"elder_id":{"type":"number","description":"Elder profile ID","example":1},"kind_id":{"type":"number","description":"Schedule kind ID","example":1},"title":{"type":"string","description":"Schedule title","example":"Morning Medication"},"detail":{"type":"string","description":"Additional detail","example":"Take with water after breakfast"},"cron":{"type":"string","description":"UTC cron expression","example":"0 13 * * 1,4,6,0"},"timezone":{"type":"string","description":"IANA timezone for display/edit roundtrip","example":"America/Los_Angeles"},"enabled":{"type":"boolean","description":"User on/off toggle","example":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","elder_id","kind_id","title","cron"]},"UpdateScheduleDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"elder_id":{"type":"number","description":"Elder profile ID","example":1},"kind_id":{"type":"number","description":"Schedule kind ID","example":1},"title":{"type":"string","description":"Schedule title","example":"Morning Medication"},"detail":{"type":"string","description":"Additional detail","example":"Take with water after breakfast"},"cron":{"type":"string","description":"UTC cron expression","example":"0 13 * * 1,4,6,0"},"timezone":{"type":"string","description":"IANA timezone for display/edit roundtrip","example":"America/Los_Angeles"},"enabled":{"type":"boolean","description":"User on/off toggle","example":true}}},"Call":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","readOnly":true},"schedule_id":{"type":"number","description":"Schedule ID","example":1},"elder_id":{"type":"number","description":"Elder profile ID","example":1},"status":{"type":"string","description":"Call status","enum":["pending","initiated","in_progress","completed","failed","no_answer","missed"],"example":"pending"},"call_sid":{"type":"string","description":"External call ID from RetellAI"},"started_at":{"format":"date-time","type":"string","description":"When the call started"},"ended_at":{"format":"date-time","type":"string","description":"When the call ended"},"duration_seconds":{"type":"number","description":"Call duration in seconds"},"summary":{"type":"string","description":"AI-generated call summary"},"sentiment":{"type":"string","description":"Elder's single dominant mood for the call, from RetellAI post-call analysis (sentiment). One of CallMood.","enum":["Neutral","Happy","Sadness","Anxiety","Loneliness","Confusion","Frustration"],"example":"Neutral"},"failure_reason":{"type":"string","description":"Failure reason if status is failed/no_answer"},"transcript":{"type":"string","description":"Full call transcript as plain text"},"needs_family_attention":{"type":"boolean","description":"True if the elder asked to pass a message to family, mentioned a health issue/symptom, or mentioned a risky plan/activity during the call"},"family_attention_detail":{"type":"string","description":"Brief factual detail on what needs family attention — the family message, health issue, or risky plan the elder raised. \"None\" when needs_family_attention is false."},"missed_medication":{"type":"boolean","description":"True if today's reminder was about medication and the elder indicated during the call that they had not taken it"},"silence_detected":{"type":"boolean","description":"True if a 60s+ silence gap was detected mid-call"},"silence_detected_at":{"format":"date-time","type":"string","description":"When the detected silence gap started"},"voicemail_detected":{"type":"boolean","description":"True if RetellAI reported the call was disconnected because it reached voicemail"},"transcript_object":{"description":"Structured transcript — array of { role, content, words }","type":"array","items":{"type":"string"}}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","uid","schedule_id","elder_id"]},"CreateCallDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"schedule_id":{"type":"number","description":"Schedule ID","example":1},"elder_id":{"type":"number","description":"Elder profile ID","example":1},"status":{"type":"string","description":"Call status","enum":["pending","initiated","in_progress","completed","failed","no_answer","missed"],"example":"pending"},"call_sid":{"type":"string","description":"External call ID from RetellAI"},"started_at":{"format":"date-time","type":"string","description":"When the call started"},"ended_at":{"format":"date-time","type":"string","description":"When the call ended"},"duration_seconds":{"type":"number","description":"Call duration in seconds"},"summary":{"type":"string","description":"AI-generated call summary"},"sentiment":{"type":"string","description":"Elder's single dominant mood for the call, from RetellAI post-call analysis (sentiment). One of CallMood.","enum":["Neutral","Happy","Sadness","Anxiety","Loneliness","Confusion","Frustration"],"example":"Neutral"},"failure_reason":{"type":"string","description":"Failure reason if status is failed/no_answer"},"transcript":{"type":"string","description":"Full call transcript as plain text"},"needs_family_attention":{"type":"boolean","description":"True if the elder asked to pass a message to family, mentioned a health issue/symptom, or mentioned a risky plan/activity during the call"},"family_attention_detail":{"type":"string","description":"Brief factual detail on what needs family attention — the family message, health issue, or risky plan the elder raised. \"None\" when needs_family_attention is false."},"missed_medication":{"type":"boolean","description":"True if today's reminder was about medication and the elder indicated during the call that they had not taken it"},"silence_detected":{"type":"boolean","description":"True if a 60s+ silence gap was detected mid-call"},"silence_detected_at":{"format":"date-time","type":"string","description":"When the detected silence gap started"},"voicemail_detected":{"type":"boolean","description":"True if RetellAI reported the call was disconnected because it reached voicemail"},"transcript_object":{"description":"Structured transcript — array of { role, content, words }","type":"array","items":{"type":"string"}}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","schedule_id","elder_id"]},"UpdateCallDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"schedule_id":{"type":"number","description":"Schedule ID","example":1},"elder_id":{"type":"number","description":"Elder profile ID","example":1},"status":{"type":"string","description":"Call status","enum":["pending","initiated","in_progress","completed","failed","no_answer","missed"],"example":"pending"},"call_sid":{"type":"string","description":"External call ID from RetellAI"},"started_at":{"format":"date-time","type":"string","description":"When the call started"},"ended_at":{"format":"date-time","type":"string","description":"When the call ended"},"duration_seconds":{"type":"number","description":"Call duration in seconds"},"summary":{"type":"string","description":"AI-generated call summary"},"sentiment":{"type":"string","description":"Elder's single dominant mood for the call, from RetellAI post-call analysis (sentiment). One of CallMood.","enum":["Neutral","Happy","Sadness","Anxiety","Loneliness","Confusion","Frustration"],"example":"Neutral"},"failure_reason":{"type":"string","description":"Failure reason if status is failed/no_answer"},"transcript":{"type":"string","description":"Full call transcript as plain text"},"needs_family_attention":{"type":"boolean","description":"True if the elder asked to pass a message to family, mentioned a health issue/symptom, or mentioned a risky plan/activity during the call"},"family_attention_detail":{"type":"string","description":"Brief factual detail on what needs family attention — the family message, health issue, or risky plan the elder raised. \"None\" when needs_family_attention is false."},"missed_medication":{"type":"boolean","description":"True if today's reminder was about medication and the elder indicated during the call that they had not taken it"},"silence_detected":{"type":"boolean","description":"True if a 60s+ silence gap was detected mid-call"},"silence_detected_at":{"format":"date-time","type":"string","description":"When the detected silence gap started"},"voicemail_detected":{"type":"boolean","description":"True if RetellAI reported the call was disconnected because it reached voicemail"},"transcript_object":{"description":"Structured transcript — array of { role, content, words }","type":"array","items":{"type":"string"}}}},"Contact":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Name of the person contacting us","example":"Ross Geller"},"email":{"type":"string","description":"Email address to reply to","example":"ross.geller@gmail.com"},"message":{"type":"string","description":"Message content","example":"I would like to know more about your service."}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","email","message"]},"CreateContactDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Name of the person contacting us","example":"Ross Geller"},"email":{"type":"string","description":"Email address to reply to","example":"ross.geller@gmail.com"},"message":{"type":"string","description":"Message content","example":"I would like to know more about your service."}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","email","message"]},"Plan":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","readOnly":true},"name":{"type":"string","description":"Plan name","example":"Basic"},"price":{"type":"number","description":"Price in cents (e.g. 1999 = $19.99)","example":1999},"currency":{"type":"string","description":"ISO currency code","example":"usd"},"description":{"type":"string","description":"Short plan description"},"features":{"type":"string","description":"JSON array of feature strings","example":"[\"Up to 5 elders\",\"Daily check-in calls\"]"},"billing_period":{"type":"string","description":"Billing period: monthly or yearly","enum":["monthly","yearly"],"example":"monthly"},"stripe_price_id":{"type":"string","description":"Stripe Price ID"},"is_active":{"type":"boolean","description":"Is this plan currently offered?","example":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","uid","name","price","currency","billing_period","is_active"]},"CreatePlanDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Plan name","example":"Basic"},"price":{"type":"number","description":"Price in cents (e.g. 1999 = $19.99)","example":1999},"currency":{"type":"string","description":"ISO currency code","example":"usd"},"description":{"type":"string","description":"Short plan description"},"features":{"type":"string","description":"JSON array of feature strings","example":"[\"Up to 5 elders\",\"Daily check-in calls\"]"},"billing_period":{"type":"string","description":"Billing period: monthly or yearly","enum":["monthly","yearly"],"example":"monthly"},"stripe_price_id":{"type":"string","description":"Stripe Price ID"},"is_active":{"type":"boolean","description":"Is this plan currently offered?","example":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","price","currency","billing_period","is_active"]},"UpdatePlanDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Plan name","example":"Basic"},"price":{"type":"number","description":"Price in cents (e.g. 1999 = $19.99)","example":1999},"currency":{"type":"string","description":"ISO currency code","example":"usd"},"description":{"type":"string","description":"Short plan description"},"features":{"type":"string","description":"JSON array of feature strings","example":"[\"Up to 5 elders\",\"Daily check-in calls\"]"},"billing_period":{"type":"string","description":"Billing period: monthly or yearly","enum":["monthly","yearly"],"example":"monthly"},"stripe_price_id":{"type":"string","description":"Stripe Price ID"},"is_active":{"type":"boolean","description":"Is this plan currently offered?","example":true}}},"Subscription":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","readOnly":true},"user_id":{"type":"number","description":"User ID","example":1},"plan_id":{"type":"number","description":"Plan ID","example":1},"stripe_customer_id":{"type":"string","description":"Stripe Customer ID"},"stripe_subscription_id":{"type":"string","description":"Stripe Subscription ID"},"status":{"type":"string","description":"Subscription status","enum":["active","cancelled","expired","past_due"],"example":"active"},"started_at":{"format":"date-time","type":"string","description":"Subscription start date"},"ends_at":{"format":"date-time","type":"string","description":"Subscription end date"},"cancel_at_period_end":{"type":"boolean","description":"Whether the subscription is scheduled to cancel at period end","example":false},"canceled_at":{"format":"date-time","type":"string","description":"When the subscription was cancelled"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","uid","user_id","plan_id","status","started_at"]},"CancelSubscriptionDto":{"type":"object","properties":{"immediately":{"type":"boolean","description":"If true, cancel immediately. Otherwise the subscription stays active until the end of the current billing period.","example":false,"default":false}}},"Transaction":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"uid":{"type":"string","description":"Unique ID","readOnly":true},"user_id":{"type":"number","description":"User ID","example":1},"plan_id":{"type":"number","description":"Plan ID","example":1},"subscription_id":{"type":"number","description":"Subscription ID"},"stripe_payment_intent_id":{"type":"string","description":"Stripe PaymentIntent ID","example":"pi_xxx"},"stripe_invoice_id":{"type":"string","description":"Stripe Invoice ID","example":"in_xxx"},"amount":{"type":"number","description":"Amount charged in cents","example":1999},"currency":{"type":"string","description":"ISO currency code","example":"usd"},"status":{"type":"string","description":"Payment status","enum":["pending","success","failed"],"example":"success"},"failure_reason":{"type":"string","description":"Failure reason if status is failed"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","uid","user_id","plan_id","amount","currency","status"]},"InitiatePaymentDto":{"type":"object","properties":{"plan_id":{"type":"number","description":"Plan ID to subscribe to","example":1}},"required":["plan_id"]},"ConfirmPaymentDto":{"type":"object","properties":{"stripe_subscription_id":{"type":"string","description":"Stripe Subscription ID returned by /payment/initiate","example":"sub_xxx"}},"required":["stripe_subscription_id"]},"UpgradePlanDto":{"type":"object","properties":{"plan_id":{"type":"number","description":"Plan ID to upgrade to","example":1}},"required":["plan_id"]},"Page":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Page Name","example":"about_us"},"title":{"type":"string","description":"Page Title","example":"About Us"},"content":{"type":"string","description":"Page Content","example":"About us sample content"},"allow_html":{"type":"boolean","description":"Allow HTML Content?","example":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","title","content","allow_html"]},"CreatePageDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Page Name","example":"about_us"},"title":{"type":"string","description":"Page Title","example":"About Us"},"content":{"type":"string","description":"Page Content","example":"About us sample content"},"allow_html":{"type":"boolean","description":"Allow HTML Content?","example":true}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","title","content","allow_html"]},"UpdatePageDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"title":{"type":"string","description":"Page Title","example":"About Us"},"content":{"type":"string","description":"Page Content","example":"About us sample content"}}},"Template":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Template Name","example":"new_account"},"title":{"type":"string","description":"Template Title","example":"New Account"},"send_email":{"type":"boolean","description":"Send Email?","example":true},"email_subject":{"type":"string","description":"Email Subject","example":"New account created"},"email_body":{"type":"string","description":"Email Body","example":"<p>HTML content</p>"},"send_sms":{"type":"boolean","description":"Send SMS?","example":true},"sms_body":{"type":"string","description":"SMS Body","example":"SMS content"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","title","send_email","email_subject","email_body","send_sms","sms_body"]},"UpdateTemplateDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"title":{"type":"string","description":"Template Title","example":"New Account"},"send_email":{"type":"boolean","description":"Send Email?","example":true},"email_subject":{"type":"string","description":"Email Subject","example":"New account created"},"email_body":{"type":"string","description":"Email Body","example":"<p>HTML content</p>"},"send_sms":{"type":"boolean","description":"Send SMS?","example":true},"sms_body":{"type":"string","description":"SMS Body","example":"SMS content"}}},"Setting":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Setting Name","example":"timezone"},"display_name":{"type":"string","description":"Setting Display Name","example":"System Timezone"},"value":{"type":"string","description":"Setting Value","example":"America/New_York"},"editable":{"type":"boolean","description":"Editable?","example":true},"group_id":{"type":"number","description":"Group ID","example":1},"sort_no":{"type":"number","description":"Sort Order","example":1},"options":{"type":"object","description":"Settings Input Options"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","display_name","value","editable","group_id","sort_no","options"]},"UpdateSettingDto":{"type":"object","properties":{"value":{"type":"string","description":"Setting Value","example":"America/New_York"}},"required":["value"]},"UpdateBulkSettingDto":{"type":"object","properties":{"value":{"type":"string","description":"Setting Value","example":"America/New_York"},"id":{"type":"number","format":"int32","description":"Setting Id","example":1}},"required":["value","id"]},"Country":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Country name","example":"United States"},"code":{"type":"string","description":"Country code","example":"US"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","code"]},"CreateCountryDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Country name","example":"United States"},"code":{"type":"string","description":"Country code","example":"US"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","name","code"]},"UpdateCountryDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"name":{"type":"string","description":"Country name","example":"United States"},"code":{"type":"string","description":"Country code","example":"US"}}},"State":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"country_id":{"type":"number","description":"Country ID","example":1},"name":{"type":"string","description":"State Name","example":"Alabama"},"code":{"type":"string","description":"State Code","example":"AL"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","country_id","name","code"]},"CreateStateDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"country_id":{"type":"number","description":"Country ID","example":1},"name":{"type":"string","description":"State Name","example":"Alabama"},"code":{"type":"string","description":"State Code","example":"AL"}},"required":["id","created_at","created_by","updated_at","updated_by","deleted_by","country_id","name","code"]},"UpdateStateDto":{"type":"object","properties":{"id":{"type":"number","format":"int32","description":"ID","example":1,"readOnly":true},"active":{"type":"boolean","description":"Is Active?","example":true},"created_at":{"format":"date-time","type":"string","description":"Created At","example":"2021-01-01T00:00:00Z","readOnly":true},"created_by":{"type":"number","format":"int32","description":"Created By","example":1,"readOnly":true},"updated_at":{"format":"date-time","type":"string","description":"Updated At","example":"2021-01-01T00:00:00Z","readOnly":true},"updated_by":{"type":"number","format":"int32","description":"Updated By","example":1,"readOnly":true},"deleted_by":{"type":"number","format":"int32","description":"Deleted By","example":1,"readOnly":true},"country_id":{"type":"number","description":"Country ID","example":1},"name":{"type":"string","description":"State Name","example":"Alabama"},"code":{"type":"string","description":"State Code","example":"AL"}}}}}}