# Auth

## User login with provided credentials.

> Authenticates a user and returns a login token with account and profile details.

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Auth/Login":{"post":{"tags":["Auth"],"summary":"User login with provided credentials.","description":"Authenticates a user and returns a login token with account and profile details.","requestBody":{"description":"Login with username or email, and password.","content":{"application/json":{"schema":{"type":"object","properties":{"usernameOrEmail":{"type":"string","nullable":true},"password":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","nullable":true},"account":{"type":"object","properties":{"accountId":{"type":"string","format":"uuid"},"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time","nullable":true},"isActive":{"type":"boolean"},"roles":{"type":"array","items":{"enum":["Candidate","Moderator","Admin"],"type":"string"},"nullable":true},"profile":{"type":"object","properties":{"profileId":{"type":"string","format":"uuid"},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"bioMarkdown":{"type":"string","nullable":true},"instituteName":{"type":"string","nullable":true},"phoneNumber":{"type":"string","nullable":true},"imageFile":{"type":"object","properties":{"cloudFileId":{"type":"string","format":"uuid"},"fileId":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64"},"webContentLink":{"type":"string","nullable":true},"webViewLink":{"type":"string","nullable":true},"directLink":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"additionalProperties":false},"profileLinks":{"type":"array","items":{"type":"object","properties":{"profileLinkId":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true},"link":{"type":"string","nullable":true}},"additionalProperties":false},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

## Registers a new user.

> Registers a new user and returns account details with a login token.

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Auth/Register":{"post":{"tags":["Auth"],"summary":"Registers a new user.","description":"Registers a new user and returns account details with a login token.","requestBody":{"description":"Account details for a new user registration.","content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"otp":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","nullable":true},"account":{"type":"object","properties":{"accountId":{"type":"string","format":"uuid"},"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time","nullable":true},"isActive":{"type":"boolean"},"roles":{"type":"array","items":{"enum":["Candidate","Moderator","Admin"],"type":"string"},"nullable":true},"profile":{"type":"object","properties":{"profileId":{"type":"string","format":"uuid"},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"bioMarkdown":{"type":"string","nullable":true},"instituteName":{"type":"string","nullable":true},"phoneNumber":{"type":"string","nullable":true},"imageFile":{"type":"object","properties":{"cloudFileId":{"type":"string","format":"uuid"},"fileId":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64"},"webContentLink":{"type":"string","nullable":true},"webViewLink":{"type":"string","nullable":true},"directLink":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"additionalProperties":false},"profileLinks":{"type":"array","items":{"type":"object","properties":{"profileLinkId":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true},"link":{"type":"string","nullable":true}},"additionalProperties":false},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

## Recovers password for a user.

> Initiates the password recovery process for a user and returns account details with a new login token.

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Auth/PasswordRecovery":{"post":{"tags":["Auth"],"summary":"Recovers password for a user.","description":"Initiates the password recovery process for a user and returns account details with a new login token.","requestBody":{"description":"Details required for initiating password recovery.","content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","nullable":true},"newPassword":{"type":"string","nullable":true},"otp":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","nullable":true},"account":{"type":"object","properties":{"accountId":{"type":"string","format":"uuid"},"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time","nullable":true},"isActive":{"type":"boolean"},"roles":{"type":"array","items":{"enum":["Candidate","Moderator","Admin"],"type":"string"},"nullable":true},"profile":{"type":"object","properties":{"profileId":{"type":"string","format":"uuid"},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"bioMarkdown":{"type":"string","nullable":true},"instituteName":{"type":"string","nullable":true},"phoneNumber":{"type":"string","nullable":true},"imageFile":{"type":"object","properties":{"cloudFileId":{"type":"string","format":"uuid"},"fileId":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64"},"webContentLink":{"type":"string","nullable":true},"webViewLink":{"type":"string","nullable":true},"directLink":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"additionalProperties":false},"profileLinks":{"type":"array","items":{"type":"object","properties":{"profileLinkId":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true},"link":{"type":"string","nullable":true}},"additionalProperties":false},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

## Checks if a user with the provided username or email is unique.

> Checks if a user with the provided username or email is unique.

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Auth/IsUserUnique":{"post":{"tags":["Auth"],"summary":"Checks if a user with the provided username or email is unique.","description":"Checks if a user with the provided username or email is unique.","requestBody":{"description":"Username and/or email to check for uniqueness.","content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

## Sends a One-Time Password (OTP) to the provided email address.

> Sends a One-Time Password (OTP) to the provided email address.

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Auth/SendOtp":{"post":{"tags":["Auth"],"summary":"Sends a One-Time Password (OTP) to the provided email address.","description":"Sends a One-Time Password (OTP) to the provided email address.","requestBody":{"description":"Email address to which the OTP will be sent.","content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

## Validates a provided One-Time Password (OTP).

> Validates a provided One-Time Password (OTP) for a given email.

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Auth/IsValidOtp":{"post":{"tags":["Auth"],"summary":"Validates a provided One-Time Password (OTP).","description":"Validates a provided One-Time Password (OTP) for a given email.","requestBody":{"description":"OTP and the associated email for verification.","content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","nullable":true},"otp":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```
