Viridi Auth Controller API
The auth-controller API from Viridi — 7 operation(s) for auth-controller.
The auth-controller API from Viridi — 7 operation(s) for auth-controller.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/viridi-parente-auth-controller-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ThingsBoard REST Auth Controller API
description: ThingsBoard open-source IoT platform REST API documentation.
contact:
name: ThingsBoard team
url: https://thingsboard.io
email: info@thingsboard.io
license:
name: Apache License Version 2.0
url: https://github.com/thingsboard/thingsboard/blob/master/LICENSE
version: 3.7.0
servers:
- url: https://vista.viridiparente.com
description: Generated server url
tags:
- name: auth-controller
paths:
/api/noauth/resetPassword:
get:
tags:
- auth-controller
summary: Check password reset token (checkResetToken)
description: Checks the password reset token and forwards user to 'Reset Password' page. If token is valid, returns '303 See Other' (redirect) response code with the correct address of 'Reset Password' page and same 'resetToken' specified in the URL parameters. If token is not valid, returns '409 Conflict'.
operationId: checkResetToken
parameters:
- name: resetToken
in: query
description: The reset token string.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
post:
tags:
- auth-controller
summary: Reset password (resetPassword)
description: Checks the password reset token and updates the password. If token is valid, returns the object that contains JWT access and refresh tokens. If token is not valid, returns '404 Bad Request'.
operationId: resetPassword
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetPasswordRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JwtPair'
/api/noauth/resetPasswordByEmail:
post:
tags:
- auth-controller
summary: Request reset password email (requestResetPasswordByEmail)
description: Request to send the reset password email if the user with specified email address is present in the database. Always return '200 OK' status for security purposes.
operationId: requestResetPasswordByEmail
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetPasswordEmailRequest'
required: true
responses:
'200':
description: OK
/api/noauth/activate:
get:
tags:
- auth-controller
summary: Check Activate User Token (checkActivateToken)
description: Checks the activation token and forwards user to 'Create Password' page. If token is valid, returns '303 See Other' (redirect) response code with the correct address of 'Create Password' page and same 'activateToken' specified in the URL parameters. If token is not valid, returns '409 Conflict'.
operationId: checkActivateToken
parameters:
- name: activateToken
in: query
description: The activate token string.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
post:
tags:
- auth-controller
summary: Activate User
description: Checks the activation token and updates corresponding user password in the database. Now the user may start using his password to login. The response already contains the JWT activation and refresh tokens, to simplify the user activation flow and avoid asking user to input password again after activation. If token is valid, returns the object that contains JWT access and refresh tokens. If token is not valid, returns '404 Bad Request'.
operationId: activateUser
parameters:
- name: sendActivationMail
in: query
required: false
schema:
type: boolean
default: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateUserRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JwtPair'
/api/auth/logout:
post:
tags:
- auth-controller
summary: Logout (logout)
description: Special API call to record the 'logout' of the user to the Audit Logs. Since platform uses JWT, the actual logout is the procedure of clearing the JWT token on the client side.
operationId: logout
responses:
'200':
description: OK
/api/auth/changePassword:
post:
tags:
- auth-controller
summary: Change password for current User (changePassword)
description: Change the password for the User which credentials are used to perform this REST API call. Be aware that previously generated JWT tokens will be still valid until they expire.
operationId: changePassword
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JwtPair'
/api/noauth/userPasswordPolicy:
get:
tags:
- auth-controller
summary: Get the current User password policy (getUserPasswordPolicy)
description: API call to get the password policy for the password validation form(s).
operationId: getUserPasswordPolicy
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserPasswordPolicy'
/api/auth/user:
get:
tags:
- auth-controller
summary: Get current User (getUser)
description: Get the information about the User which credentials are used to perform this REST API call.
operationId: getUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
components:
schemas:
UserPasswordPolicy:
properties:
minimumLength:
type: integer
format: int32
description: Minimum number of symbols in the password.
maximumLength:
type: integer
format: int32
description: Maximum number of symbols in the password.
minimumUppercaseLetters:
type: integer
format: int32
description: Minimum number of uppercase letters in the password.
minimumLowercaseLetters:
type: integer
format: int32
description: Minimum number of lowercase letters in the password.
minimumDigits:
type: integer
format: int32
description: Minimum number of digits in the password.
minimumSpecialCharacters:
type: integer
format: int32
description: Minimum number of special in the password.
allowWhitespaces:
type: boolean
description: Allow whitespaces
forceUserToResetPasswordIfNotValid:
type: boolean
description: Force user to update password if existing one does not pass validation
passwordExpirationPeriodDays:
type: integer
format: int32
description: Password expiration period (days). Force expiration of the password.
passwordReuseFrequencyDays:
type: integer
format: int32
description: Password reuse frequency (days). Disallow to use the same password for the defined number of days
ActivateUserRequest:
description: Activate user request.
properties:
activateToken:
type: string
description: The activate token to verify
example: AAB254FF67D..
password:
type: string
description: The new password to set
example: secret
User:
description: A JSON value representing the User.
properties:
id:
$ref: '#/components/schemas/UserId'
description: JSON object with the User Id. Specify this field to update the device. Referencing non-existing User Id will cause error. Omit this field to create new customer.
createdTime:
type: integer
format: int64
description: Timestamp of the user creation, in milliseconds
example: 1609459200000
readOnly: true
tenantId:
$ref: '#/components/schemas/TenantId'
description: JSON object with the Tenant Id.
readOnly: true
customerId:
$ref: '#/components/schemas/CustomerId'
description: JSON object with the Customer Id.
readOnly: true
roleId:
$ref: '#/components/schemas/RoleId'
email:
type: string
description: Email of the user
example: user@example.com
authority:
type: string
description: Authority
enum:
- SYS_ADMIN
- TENANT_ADMIN
- CUSTOMER_USER
- REFRESH_TOKEN
- PRE_VERIFICATION_TOKEN
example: SYS_ADMIN, TENANT_ADMIN or CUSTOMER_USER
firstName:
type: string
description: First name of the user
example: John
lastName:
type: string
description: Last name of the user
example: Doe
phone:
type: string
description: Phone number of the user
example: 38012345123
name:
type: string
description: Duplicates the email of the user, readonly
example: user@example.com
readOnly: true
additionalInfo:
$ref: '#/components/schemas/JsonNode'
description: Additional parameters of the user
required:
- authority
- email
ResetPasswordRequest:
description: Reset password request.
properties:
resetToken:
type: string
description: The reset token to verify
example: AAB254FF67D..
password:
type: string
description: The new password to set
example: secret
RoleId:
properties:
id:
type: string
format: uuid
description: ID of the entity, time-based UUID v1
example: 784f394c-42b6-435a-983c-b7beff2784f9
entityType:
type: string
enum:
- TENANT
- CUSTOMER
- USER
- DASHBOARD
- ASSET
- DEVICE
- ALARM
- RULE_CHAIN
- RULE_NODE
- ROLE
- ENTITY_VIEW
- WIDGETS_BUNDLE
- WIDGET_TYPE
- TENANT_PROFILE
- DEVICE_PROFILE
- ASSET_PROFILE
- API_USAGE_STATE
- TB_RESOURCE
- OTA_PACKAGE
- EDGE
- RPC
- QUEUE
- NOTIFICATION_TARGET
- NOTIFICATION_TEMPLATE
- NOTIFICATION_REQUEST
- NOTIFICATION
- NOTIFICATION_RULE
- QUEUE_STATS
example: DEVICE
required:
- entityType
- id
JwtPair:
description: JWT Pair
properties:
token:
type: string
description: The JWT Access Token. Used to perform API calls.
example: AAB254FF67D..
refreshToken:
type: string
description: The JWT Refresh Token. Used to get new JWT Access Token if old one has expired.
example: AAB254FF67D..
scope:
type: string
enum:
- SYS_ADMIN
- TENANT_ADMIN
- CUSTOMER_USER
- REFRESH_TOKEN
- PRE_VERIFICATION_TOKEN
UserId:
properties:
id:
type: string
format: uuid
description: ID of the entity, time-based UUID v1
example: 784f394c-42b6-435a-983c-b7beff2784f9
entityType:
type: string
description: string
enum:
- USER
example: USER
required:
- entityType
- id
CustomerId:
properties:
id:
type: string
format: uuid
description: ID of the entity, time-based UUID v1
example: 784f394c-42b6-435a-983c-b7beff2784f9
entityType:
type: string
description: string
enum:
- CUSTOMER
example: CUSTOMER
required:
- entityType
- id
ResetPasswordEmailRequest:
description: The JSON object representing the reset password email request.
properties:
email:
type: string
description: The email of the user
example: user@example.com
JsonNode:
description: A value representing the any type (object or primitive)
examples:
- {}
TenantId:
properties:
id:
type: string
format: uuid
description: ID of the entity, time-based UUID v1
example: 784f394c-42b6-435a-983c-b7beff2784f9
entityType:
type: string
description: string
enum:
- TENANT
example: TENANT
required:
- entityType
- id
ChangePasswordRequest:
description: Change Password Request
properties:
currentPassword:
type: string
description: The old password
example: OldPassword
newPassword:
type: string
description: The new password
example: NewPassword
securitySchemes:
HTTP_login_form:
type: http
description: Enter Username / Password
scheme: loginPassword
bearerFormat: /api/auth/login|X-Authorization