Viridi Admin Controller API
The admin-controller API from Viridi — 18 operation(s) for admin-controller.
The admin-controller API from Viridi — 18 operation(s) for admin-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-admin-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 Admin 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: admin-controller
paths:
/api/admin/settings:
post:
tags:
- admin-controller
summary: Get the Administration Settings object using key (getAdminSettings)
description: 'Creates or Updates the Administration Settings. Platform generates random Administration Settings Id during settings creation. The Administration Settings Id will be present in the response. Specify the Administration Settings Id when you would like to update the Administration Settings. Referencing non-existing Administration Settings Id will cause an error.
Available for users with ''SYS_ADMIN'' authority.'
operationId: saveAdminSettings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminSettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdminSettings'
/api/admin/settings/testSms:
post:
tags:
- admin-controller
summary: Send test sms (sendTestMail)
description: 'Attempts to send test sms to the System Administrator User using SMS Settings and phone number provided as a parameters of the request.
Available for users with ''SYS_ADMIN'' authority.'
operationId: sendTestSms
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TestSmsRequest'
required: true
responses:
'200':
description: OK
/api/admin/settings/testMail:
post:
tags:
- admin-controller
summary: Send test email (sendTestMail)
description: 'Attempts to send test email to the System Administrator User using Mail Settings provided as a parameter. You may change the ''To'' email in the user profile of the System Administrator.
Available for users with ''SYS_ADMIN'' authority.'
operationId: sendTestMail
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminSettings'
required: true
responses:
'200':
description: OK
/api/admin/securitySettings:
get:
tags:
- admin-controller
summary: Get the Security Settings object
description: 'Get the Security Settings object that contains password policy, etc.
Available for users with ''SYS_ADMIN'' authority.'
operationId: getSecuritySettings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SecuritySettings'
post:
tags:
- admin-controller
summary: Update Security Settings (saveSecuritySettings)
description: 'Updates the Security Settings object that contains password policy, etc.
Available for users with ''SYS_ADMIN'' authority.'
operationId: saveSecuritySettings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SecuritySettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SecuritySettings'
/api/admin/repositorySettings:
get:
tags:
- admin-controller
summary: Get repository settings (getRepositorySettings)
description: 'Get the repository settings object.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: getRepositorySettings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RepositorySettings'
post:
tags:
- admin-controller
summary: Creates or Updates the repository settings (saveRepositorySettings)
description: 'Creates or Updates the repository settings object.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: saveRepositorySettings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RepositorySettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RepositorySettings'
delete:
tags:
- admin-controller
summary: Delete repository settings (deleteRepositorySettings)
description: 'Deletes the repository settings.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: deleteRepositorySettings
responses:
'200':
description: OK
/api/admin/repositorySettings/checkAccess:
post:
tags:
- admin-controller
summary: Check repository access (checkRepositoryAccess)
description: 'Attempts to check repository access.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: checkRepositoryAccess
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RepositorySettings'
required: true
responses:
'200':
description: OK
/api/admin/jwtSettings:
get:
tags:
- admin-controller
summary: Get the JWT Settings object (getJwtSettings)
description: 'Get the JWT Settings object that contains JWT token policy, etc.
Available for users with ''SYS_ADMIN'' authority.'
operationId: getJwtSettings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JwtSettings'
post:
tags:
- admin-controller
summary: Update JWT Settings (saveJwtSettings)
description: 'Updates the JWT Settings object that contains JWT token policy, etc. The tokenSigningKey field is a Base64 encoded string.
Available for users with ''SYS_ADMIN'' authority.'
operationId: saveJwtSettings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JwtSettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JwtPair'
/api/admin/autoCommitSettings:
get:
tags:
- admin-controller
summary: Get auto commit settings (getAutoCommitSettings)
description: 'Get the auto commit settings object.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: getAutoCommitSettings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AutoCommitSettings'
post:
tags:
- admin-controller
summary: Creates or Updates the auto commit settings (saveAutoCommitSettings)
description: 'Creates or Updates the auto commit settings object.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: saveAutoCommitSettings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AutoCommitSettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AutoCommitSettings'
delete:
tags:
- admin-controller
summary: Delete auto commit settings (deleteAutoCommitSettings)
description: 'Deletes the auto commit settings.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: deleteAutoCommitSettings
responses:
'200':
description: OK
/api/admin/updates:
get:
tags:
- admin-controller
summary: Check for new Platform Releases (checkUpdates)
description: 'Check notifications about new platform releases.
Available for users with ''SYS_ADMIN'' authority.'
operationId: checkUpdates
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMessage'
/api/admin/systemInfo:
get:
tags:
- admin-controller
summary: Get system info (getSystemInfo)
description: 'Get main information about system.
Available for users with ''SYS_ADMIN'' authority.'
operationId: getSystemInfo
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SystemInfo'
/api/admin/settings/{key}:
get:
tags:
- admin-controller
summary: Get the Administration Settings object using key (getAdminSettings)
description: 'Get the Administration Settings object using specified string key. Referencing non-existing key will cause an error.
Available for users with ''SYS_ADMIN'' authority.'
operationId: getAdminSettings
parameters:
- name: key
in: path
description: A string value of the key (e.g. 'general' or 'mail').
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdminSettings'
/api/admin/repositorySettings/info:
get:
tags:
- admin-controller
operationId: getRepositorySettingsInfo
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RepositorySettingsInfo'
summary: Get repository settings info
x-summary-source: derived
/api/admin/repositorySettings/exists:
get:
tags:
- admin-controller
summary: Check repository settings exists (repositorySettingsExists)
description: 'Check whether the repository settings exists.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: repositorySettingsExists
responses:
'200':
description: OK
content:
application/json:
schema:
type: boolean
/api/admin/mail/oauth2/loginProcessingUrl:
get:
tags:
- admin-controller
summary: Get OAuth2 log in processing URL (getMailProcessingUrl)
description: 'Returns the URL enclosed in double quotes. After successful authentication with OAuth2 provider and user consent for requested scope, it makes a redirect to this path so that the platform can do further log in processing and generating access tokens.
Available for users with ''SYS_ADMIN'' authority.'
operationId: getMailProcessingUrl
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
/api/admin/mail/oauth2/code:
get:
tags:
- admin-controller
operationId: codeProcessingUrl
parameters:
- name: code
in: query
required: true
schema:
type: string
- name: state
in: query
required: true
schema:
type: string
responses:
'200':
description: OK
summary: Code processing url
x-summary-source: derived
/api/admin/mail/oauth2/authorize:
get:
tags:
- admin-controller
summary: Redirect user to mail provider login page
description: After user logged in and provided accessprovider sends authorization code to specified redirect uri.)
operationId: getAuthorizationUrl
responses:
'200':
description: OK
content:
application/text:
schema:
type: string
/api/admin/featuresInfo:
get:
tags:
- admin-controller
summary: Get features info (getFeaturesInfo)
description: 'Get information about enabled/disabled features.
Available for users with ''SYS_ADMIN'' authority.'
operationId: getFeaturesInfo
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FeaturesInfo'
/api/admin/autoCommitSettings/exists:
get:
tags:
- admin-controller
summary: Check auto commit settings exists (autoCommitSettingsExists)
description: 'Check whether the auto commit settings exists.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: autoCommitSettingsExists
responses:
'200':
description: OK
content:
application/json:
schema:
type: boolean
components:
schemas:
SystemInfo:
properties:
systemData:
type: array
description: System data.
items:
$ref: '#/components/schemas/SystemInfoData'
monolith:
type: boolean
AdminSettings:
description: A JSON value representing the Mail Settings.
properties:
id:
$ref: '#/components/schemas/AdminSettingsId'
description: The Id of the Administration Settings, auto-generated, UUID
createdTime:
type: integer
format: int64
description: Timestamp of the settings creation, in milliseconds
example: 1609459200000
readOnly: true
tenantId:
$ref: '#/components/schemas/TenantId'
description: JSON object with Tenant Id.
readOnly: true
key:
type: string
description: The Administration Settings key, (e.g. 'general' or 'mail')
example: mail
jsonValue:
$ref: '#/components/schemas/JsonNode'
description: JSON representation of the Administration Settings value
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
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
RepositorySettings:
description: A JSON value representing the Repository Settings.
properties:
repositoryUri:
type: string
authMethod:
type: string
enum:
- USERNAME_PASSWORD
- PRIVATE_KEY
username:
type: string
password:
type: string
privateKeyFileName:
type: string
privateKey:
type: string
privateKeyPassword:
type: string
defaultBranch:
type: string
readOnly:
type: boolean
showMergeCommits:
type: boolean
SmsProviderConfiguration:
discriminator:
propertyName: type
properties:
type:
type: string
required:
- type
SmppSmsProviderConfiguration:
allOf:
- $ref: '#/components/schemas/SmsProviderConfiguration'
- type: object
properties:
protocolVersion:
type: string
description: SMPP version
enum:
- 3.3, 3.4
host:
type: string
description: SMPP host
port:
type: integer
format: int32
description: SMPP port
systemId:
type: string
description: System ID
password:
type: string
description: Password
systemType:
type: string
description: System type
bindType:
type: string
description: TX - Transmitter, RX - Receiver, TRX - Transciever. By default TX is used
enum:
- TX
- RX
- TRX
serviceType:
type: string
description: Service type
sourceAddress:
type: string
description: Source address
sourceTon:
type: string
format: byte
description: 'Source TON (Type of Number). Needed is source address is set. 5 by default.
0 - Unknown
1 - International
2 - National
3 - Network Specific
4 - Subscriber Number
5 - Alphanumeric
6 - Abbreviated'
sourceNpi:
type: string
format: byte
description: 'Source NPI (Numbering Plan Identification). Needed is source address is set. 0 by default.
0 - Unknown
1 - ISDN/telephone numbering plan (E163/E164)
3 - Data numbering plan (X.121)
4 - Telex numbering plan (F.69)
6 - Land Mobile (E.212) =6
8 - National numbering plan
9 - Private numbering plan
10 - ERMES numbering plan (ETSI DE/PS 3 01-3)
13 - Internet (IP)
18 - WAP Client Id (to be defined by WAP Forum)'
destinationTon:
type: string
format: byte
description: 'Destination TON (Type of Number). 5 by default.
0 - Unknown
1 - International
2 - National
3 - Network Specific
4 - Subscriber Number
5 - Alphanumeric
6 - Abbreviated'
destinationNpi:
type: string
format: byte
description: 'Destination NPI (Numbering Plan Identification). 0 by default.
0 - Unknown
1 - ISDN/telephone numbering plan (E163/E164)
3 - Data numbering plan (X.121)
4 - Telex numbering plan (F.69)
6 - Land Mobile (E.212) =6
8 - National numbering plan
9 - Private numbering plan
10 - ERMES numbering plan (ETSI DE/PS 3 01-3)
13 - Internet (IP)
18 - WAP Client Id (to be defined by WAP Forum)'
addressRange:
type: string
description: Address range
codingScheme:
type: string
format: byte
description: '0 - SMSC Default Alphabet (ASCII for short and long code and to GSM for toll-free, used as default)
1 - IA5 (ASCII for short and long code, Latin 9 for toll-free (ISO-8859-9))
2 - Octet Unspecified (8-bit binary)
3 - Latin 1 (ISO-8859-1)
4 - Octet Unspecified (8-bit binary)
5 - JIS (X 0208-1990)
6 - Cyrillic (ISO-8859-5)
7 - Latin/Hebrew (ISO-8859-8)
8 - UCS2/UTF-16 (ISO/IEC-10646)
9 - Pictogram Encoding
10 - Music Codes (ISO-2022-JP)
13 - Extended Kanji JIS (X 0212-1990)
14 - Korean Graphic Character Set (KS C 5601/KS X 1001)'
enum:
- 0-10
- 13-14
required:
- host
- password
- port
- protocolVersion
- systemId
SecuritySettings:
description: A JSON value representing the Security Settings.
properties:
passwordPolicy:
$ref: '#/components/schemas/UserPasswordPolicy'
description: The user password policy object.
maxFailedLoginAttempts:
type: integer
format: int32
description: Maximum number of failed login attempts allowed before user account is locked.
userLockoutNotificationEmail:
type: string
description: Email to use for notifications about locked users.
mobileSecretKeyLength:
type: integer
format: int32
description: Mobile secret key length
UpdateMessage:
properties:
updateAvailable:
type: boolean
description: '''True'' if new platform update is available.'
currentVersion:
type: string
description: Current ThingsBoard version.
latestVersion:
type: string
description: Latest ThingsBoard version.
upgradeInstructionsUrl:
type: string
description: Upgrade instructions URL.
currentVersionReleaseNotesUrl:
type: string
description: Current ThingsBoard version release notes URL.
latestVersionReleaseNotesUrl:
type: string
description: Latest ThingsBoard version release notes URL.
AutoVersionCreateConfig:
properties:
saveRelations:
type: boolean
saveAttributes:
type: boolean
saveCredentials:
type: boolean
branch:
type: string
AwsSnsSmsProviderConfiguration:
allOf:
- $ref: '#/components/schemas/SmsProviderConfiguration'
- type: object
properties:
accessKeyId:
type: string
description: The AWS SNS Access Key ID.
secretAccessKey:
type: string
description: The AWS SNS Access Key.
region:
type: string
description: The AWS region.
AdminSettingsId:
properties:
id:
type: string
format: uuid
description: string
example: 784f394c-42b6-435a-983c-b7beff2784f9
required:
- id
FeaturesInfo:
properties:
smsEnabled:
type: boolean
oauthEnabled:
type: boolean
notificationEnabled:
type: boolean
emailEnabled:
type: boolean
twoFaEnabled:
type: boolean
JwtSettings:
description: A JSON value representing the JWT Settings.
properties:
tokenExpirationTime:
type: integer
format: int32
description: The JWT will expire after seconds.
example: 9000
refreshTokenExpTime:
type: integer
format: int32
description: The JWT can be refreshed during seconds.
example: 604800
tokenIssuer:
type: string
description: The JWT issuer.
example: thingsboard.io
tokenSigningKey:
type: string
description: The JWT key is used to sing token. Base64 encoded.
example: dkVTUzU2M2VMWUNwVVltTUhQU2o5SUM0Tkc3M0k2Ykdwcm85QTl6R0RaQ252OFlmVDk2OEptZXBNcndGeExFZg==
TestSmsRequest:
description: A JSON value representing the Test SMS request.
properties:
providerConfiguration:
description: The SMS provider configuration
oneOf:
- $ref: '#/components/schemas/AwsSnsSmsProviderConfiguration'
- $ref: '#/components/schemas/SmppSmsProviderConfiguration'
- $ref: '#/components/schemas/TwilioSmsProviderConfiguration'
numberTo:
type: string
description: The phone number or other identifier to specify as a recipient of the SMS.
message:
type: string
description: The test message
SystemInfoData:
properties:
serviceId:
type: string
description: Service Id.
serviceType:
type: string
description: Service type.
cpuUsage:
type: integer
format: int64
description: CPU usage, in percent.
cpuCount:
type: integer
format: int64
description: Total CPU usage.
memoryUsage:
type: integer
format: int64
description: Memory usage, in percent.
totalMemory:
type: integer
format: int64
description: Total memory in bytes.
discUsage:
type: integer
format: int64
description: Disk usage, in percent.
totalDiscSpace:
type: integer
format: int64
description: Total disc space in bytes.
AutoCommitSettings:
type: object
additionalProperties:
$ref: '#/components/schemas/AutoVersionCreateConfig'
TwilioSmsProviderConfiguration:
allOf:
- $ref: '#/components/schemas/SmsProviderConfiguration'
- type: object
properties:
accountSid:
type: string
description: Twilio account Sid.
accountToken:
type: string
description: Twilio account Token.
numberFrom:
type: string
description: The number/id of a sender.
RepositorySettingsInfo:
properties:
configured:
type: boolean
readOnly:
type: boolean
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
JsonNode:
description: A value representing the any type (object or primitive)
examples:
- {}
securitySchemes:
HTTP_login_form:
type: http
description: Enter Username / Password
scheme: loginPassword
bearerFormat: /api/auth/login|X-Authorization