API Definition

LDAP configuration

get
Authorizations
AuthorizationstringRequired
Responses
get
/auth/ldap
200

LDAP configuration

MFA configuration

get
Authorizations
AuthorizationstringRequired
Responses
get
/auth/mfa
200

MFA configuration

Create a new user

post
Authorizations
AuthorizationstringRequired
Body
usernamestring · min: 3Required
autoGeneratedbooleanOptionalDefault: false
mqttPublishPrefixstringOptional
passwordstring · min: 5Optional
identityProviderstring · enumRequiredPossible values:
rolesstring[]Optional

An array of roleId of the roles the new user should have. (Must be roleId, not role name.)

enforceMFAEnrollmentbooleanOptionalDefault: false
Responses
201

Created

application/json
post
/users

List users

get
Authorizations
AuthorizationstringRequired
Query parameters
username[eq]string[]Optional

The optional list to be matched against the usernames

pageNumberintegerOptional

The page number to fetch, starts at page 1

rowsPerPageinteger · max: 100Optional

The number of records per page to return

excludeAutoGeneratedbooleanOptional

If the auto generated roles should be excluded from the results

Responses
get
/listUsers

List all usernames

get
Authorizations
AuthorizationstringRequired
Responses
get
/users/usernames
200

Array of user ids

List user ids

get
Authorizations
AuthorizationstringRequired
Responses
get
/users/ids
200

Array of user ids

Create new users in batch

post
Authorizations
AuthorizationstringRequired
Bodyobject[]
usernamestring · min: 3Required
autoGeneratedbooleanOptionalDefault: false
mqttPublishPrefixstringOptional
passwordstring · min: 5Optional
identityProviderstring · enumRequiredPossible values:
rolesstring[]Optional

An array of roleId of the roles the new user should have. (Must be roleId, not role name.)

enforceMFAEnrollmentbooleanOptionalDefault: false
Responses
201

Created

application/json
Responsestring[]
post
/users/batch

Delete users in batch

post
Authorizations
AuthorizationstringRequired
Bodystring[]
string[]Optional
Responses
post
/users/batch/delete

No content

Change user password

put
Authorizations
AuthorizationstringRequired
Body
passwordstringOptional
newPasswordstring · min: 5Optional
Responses
put
/users/change-password

No content

Get a specific user

get
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Responses
get
/users/{id}

Update an existing user

put
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Body
usernamestring · min: 3Optional
passwordstringOptional
mqttPublishPrefixstringOptional
identityProviderstring · enumOptionalPossible values:
rolesstring[]Optional

An array of roleId of the roles the new user should have. (Must be roleId, not role name.)

disableMfabooleanOptional

Indicates that MFA for the given user should be disabled

enforceMFAEnrollmentbooleanOptional

Enforces the user to enroll MFA

Responses
put
/users/{id}

Delete an existing user

delete
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Responses
delete
/users/{id}

No content

Get all tokens generated by this user

get
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Responses
get
/users/{id}/tokens

Delete all tokens generated by this user

delete
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Query parameters
tokenIdstringOptional

Id of the Token to be deleted. All tokens for the user are deleted if not present.

Responses
delete
/users/{id}/tokens

No content

Add a new certificate to a user

post
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Body
fingerprintstringRequired
Responses
201

Created

No content

post
/users/{id}/certificates

No content

Delete an existing certificate

delete
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Body
fingerprintstringRequired
Responses
delete
/users/{id}/certificates

No content

Add a new role to a user

post
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Body
roleIdstringRequired
Responses
201

Created

No content

post
/users/{id}/roles

No content

Remove a role from a user

delete
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of user

Body
roleIdstringRequired
Responses
delete
/users/{id}/roles

No content

Create a new role

post
Authorizations
AuthorizationstringRequired
Body
namestringRequired
isSharedbooleanRequired
autoGeneratedbooleanOptional
Responses
201

Created

application/json
post
/roles

List roles

get
Authorizations
AuthorizationstringRequired
Query parameters
name[eq]stringOptional

Filter by equal to name

Responses
get
/roles

List paginated roles

get
Authorizations
AuthorizationstringRequired
Query parameters
namesstring[]Optional

Filter by the given names

rowsPerPageinteger · min: 1 · max: 50Required

Set the page size of the yielded page

pageNumberinteger · min: 1Required

Set the current page to be retrieved

autoGeneratedbooleanOptional

Filter by roles that are or not auto generated, defaults to any

isSharedbooleanOptional

Filter by roles that are or not shared, defaults to any

Responses
get
/roles/page

List roles names

get
Authorizations
AuthorizationstringRequired
Responses
get
/roles/names

Get a specific role

get
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

Responses
get
/roles/{id}

Update an existing role

put
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

Body
namestringRequired
isSharedbooleanOptional
Responses
put
/roles/{id}

Delete an existing role

delete
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

Responses
delete
/roles/{id}

No content

List role permissions

get
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

Responses
get
/roles/{id}/permissions

Add a new permission to a role

post
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

Body
resourcestringRequired
operationstring · enumRequiredPossible values:
contextstring · enumRequiredPossible values:
Responses
201

Created

No content

post
/roles/{id}/permissions

No content

Update an existing permission

get
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

pemIdstringRequired

Id of permission

Responses
get
/roles/{id}/permissions/{pemId}

Update an existing permission

put
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

pemIdstringRequired

Id of permission

Body
resourcestringOptional
operationstring · enumRequiredPossible values:
Responses
put
/roles/{id}/permissions/{pemId}

No content

Delete an existing permission

delete
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Id of role

pemIdstringRequired

Id of permission

Responses
delete
/roles/{id}/permissions/{pemId}

No content

Login into the cybus connectware

post
Body
usernamestringRequired
passwordstringRequired
expireTimeInHoursnumberOptional
labelstringOptional
Responses
post
/login

Return the session of the current user

get
Authorizations
AuthorizationstringRequired
Responses
get
/session

Return the permissions of the current user

get
Authorizations
AuthorizationstringRequired
Responses
get
/permissions

No content

Return a page of all permissions

get
Authorizations
AuthorizationstringRequired
Query parameters
idsstring[]Optional

Filter by the given permission ids

rowsPerPageinteger · min: 1 · max: 50Required

Set the page size of the yielded page

pageNumberinteger · min: 1Required

Set the current page to be retrieved

Responses
get
/permissions/page

Return all permissions ids

get
Authorizations
AuthorizationstringRequired
Responses
get
/permissions/ids

Logout of the cybus connectware

post
Body
tokenstringRequired
Responses
post
/logout

No content

Endpoint for self-registration of clients

post
Body
usernamestring · min: 3Required

Username to be registered. The Auth Server will check this for uniqueness, so be sure to generate a reasonably namespaced username.

Example: iot.device.0123456
passwordstring · min: 5Optional

Secret password that should be set for the user. This will be stored in hashed form on the receiver side. Either this or a csr should be supplied.

Example: secret-password
csrstringOptional

Base 64 encoded certificate signing request in PEM format. Instead of a password, a client side certificate (x.509) can be used for authentication. If the CSR is supplied, the signed certificate will be returned once the authentication request is granted.

Example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ3REQ0NBWndDQVFBd2J6RUxN QWtHQTFVRUJoTUNSRVV4RHpBTkJnTlZCQWdNQmtKbGNteHBiakVVTUJJRwpBMVVFQ2d3TFVtOWli M1J6SUVsdVl5NHhEREFLQmdOVkJBc01BMUltUkRFTk1Bc0dBMVVFQXd3RVVqSkVNakVjCk1Cb0dD U3FHU0liM0RRRUpBUllOY2pKa01rQmplV0oxY3k1cGJ6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJR QUQKZ2dFUEFEQ0NBUW9DZ2dFQkFNSXlsQmk4azFIZDJseERXZHd5N1Z3WngvaUlrdWpTUUVtWmdk Y0JqNk4veTZTSQpiTGMwdFpmK2JGWUZZZ2p0OHRFUUJPRzhNeW94YmYwQSs4T0dHZFJvV3l2eHFt ci9TLzhNa1ZGUXJiS2duMDBaCmVrdWlZQVBUOFMvT0FZVnlGT21rWWtWSm0wdkRwMmRkcXRiTUZY bXZ1OGxnVnVPckFwMEQ4TjdBcVgwWlUwc0UKZzRmVkdpREtnS040cUFEcXR3aVZKb0dsR0JCYWpm ejAxSlhEWnhpUEVac3BYSGJyaVY0Z1JvV0VIVGNGcWc4cgo1WCtZRDlqTGVGdFdRb0g5SHA3ZEFP Y1lCRktVRVZjWTlGN20vRWZkVFBwNjNnbTdRdFR4S0EvelIyODRWQUVCCjZFbC8xU2FCME54YlVw bHgzVHp4T2ZKYjJpdEd0S1RzN1U2UnF3VUNBd0VBQWFBQU1BMEdDU3FHU0liM0RRRUIKQ3dVQUE0 SUJBUUIxejdKcGRIRERScTl2WE1BMmNBVVZBRmYvYkRXNzlkNmlMQ0pDVDZ5WlhOcHV0ZXA3N1pQ dQpIMSszb08vZmRJdDhaOThjV0J4ZVBNckVDM2krQ0lIdms4a202SVFMVW05cUZVdHRDN0VjUmpU UFYwT29vb2l0ClhXOHhzWVhGaEZPTStydTJnbEcrSUVMY3BydS9JamxyVHpwaUtNZVJGQ1FFemww WWtZRDZkSk82ME1CRVhjZUgKWHpFZTRtT2oxUDJKNFcycFI1bDFsQjZ5dXB4SWVuRjRhNm5EeFFE eFZkcmtBTHNJdDhGZUNTNDNvaHg4NVQ5SApHN2IwOFdmdEFrYzhKR3ZLb00rdE90MzlVZFFESE1S OU5QOG9RUUpMaldMcWZRdUtaRmZXNVJyR24zSzA2UGNICkRMN1FNc1hxNFBaMyswUXpCSjZJVGoz aUZubHp1VXBqCi0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQo=
rolesstring[]Optional

Name of roles the user wants to be assigned to

contextstringRequired

Free text that helps the granting user understanding where this request comes from.

Example: IoT Device Serial Number <0123456>
Responses
201

Granted. The registration request has been confirmed, proceed to login

application/json
post
/client-registry/register

Receive a list of all pending registration requests

get
Authorizations
AuthorizationstringRequired
Responses
get
/client-registry

Return the current lock status of the registration endpoint

get
Authorizations
AuthorizationstringRequired
Responses
get
/client-registry/status
200

OK

Open the registration endpoint temporarily

post
Authorizations
AuthorizationstringRequired
Body
durationintegerOptional

This parameter defines how long the registration endpoint will be kept open (in milliseconds). Default if undefined: 30000 milliseconds

Example: 30000
Responses
post
/client-registry/open

No content

Lock the registration endpoint now. This will flush the internal request cache.

post
Authorizations
AuthorizationstringRequired
Responses
post
/client-registry/lock

No content

Confirm a single authentication request

post
Authorizations
AuthorizationstringRequired
Body
usernamestring · min: 3Required

Username to confirm. Must match a username that is currently in the pendingRequests list.

mqttPublishPrefixstringOptional
rolesstring[]Optional

An array of roleId of the roles the new user should have. (Must be roleId, not role name.)

Responses
post
/client-registry/confirm

List certificates

get
Authorizations
AuthorizationstringRequired
Responses
get
/certificates

Deletes certificate

delete
Authorizations
AuthorizationstringRequired
Query parameters
idstringRequired

Id of certificate

Responses
delete
/certificates

No content

Add certificate

post
Authorizations
AuthorizationstringRequired
Body
stringOptional
Responses
201

Array of added certficates

application/json
post
/certificates

Returns given certificate content

get
Authorizations
AuthorizationstringRequired
Query parameters
idstringRequired

Id of certificate

Responses
get
/certificates/content

Enhanced authentication of MQTT5 (not supported)

post
Body
client_idstringOptional
Responses
post
/broker/auth/enhanced
200

OK

Return a password policy rules

get
Authorizations
AuthorizationstringRequired
Responses
get
/policy/password
200

OK

Return a database maintenance status

get
Authorizations
AuthorizationstringRequired
Responses
get
/maintenance/db
200

OK

Download a database backup

get
Authorizations
AuthorizationstringRequired
Responses
get
/maintenance/db/backup

Start a database backup

post
Authorizations
AuthorizationstringRequired
Responses
post
/maintenance/db/backup

Upload archive and start database restore

post
Authorizations
AuthorizationstringRequired
Responses
post
/maintenance/db/restore

No content

Enable MFA for an existing user

post
Authorizations
AuthorizationstringRequired
Responses
post
/mfa/enable

Validate MFA enrollment of the user

post
Authorizations
AuthorizationstringRequired
Body
otpstringRequired
Responses
post
/mfa/validate

Login user with MFA

post
Authorizations
AuthorizationstringRequired
Body
usernamestringRequired
otpstringOptional
backupCodestringOptional
secretstringRequired
Responses
post
/mfa/login

User self de-registration from MFA

post
Authorizations
AuthorizationstringRequired
Body
otpstringOptional
backupCodestringOptional
Responses
post
/mfa/disable

No content

Regenarete backup codes a user

post
Authorizations
AuthorizationstringRequired
Body
otpstringOptional
backupCodestringOptional
Responses
post
/mfa/regenerate/backupcodes

Checks if a user is enrolled to mfa or not

get
Authorizations
AuthorizationstringRequired
Responses
get
/mfa/isenrolled

Last updated

Was this helpful?