Security Service

Get access token - to be used as Bearer token header for all other API requests.

post

/oauth2

Authorizations
Query parameters
newPasswordstring

used when a user is trying to change her password. This will be the new password.

forgotPasswordboolean

A user forgot her password. She needs to present her e-mail address in the userId and set this to true

requirementsboolean

A user forgot her password. She needs to present her e-mail address in the userId and set this to true

resendMFACodeboolean
completeMFAChallengeboolean
grant_typestring
Example: refresh_token
Body
one of
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/oauth2' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"userId":"support@example.com","password":"support"}'
{
  "access_token": "text",
  "refresh_token": "text",
  "token_type": "text",
  "expires_in": 1,
  "idle_timeout": 1,
  "username": "text",
  "created": 1,
  "userMustChangePassword": true,
  "errorCode": 1,
  "aclTemplate": {
    "aclTemplate": {
      "Read": true,
      "ReadWrite": true,
      "ReadWriteCreate": true,
      "Delete": true,
      "PortalLogin": true
    }
  }
}

Get access token - to be used as Bearer token header for all other API requests.

post

/suboauth2

Authorizations
Query parameters
newPasswordstring

used when a user is trying to change her password. This will be the new password.

forgotPasswordboolean

A user forgot her password. She needs to present her e-mail address in the userId and set this to true

requirementsboolean

A user forgot her password. She needs to present her e-mail address in the userId and set this to true

resendMFACodeboolean
completeMFAChallengeboolean
grant_typestring
Example: refresh_token
Body
one of
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/suboauth2' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"userId":"support@example.com","password":"support"}'
{
  "access_token": "text",
  "refresh_token": "text",
  "token_type": "text",
  "expires_in": 1,
  "idle_timeout": 1,
  "username": "text",
  "created": 1,
  "userMustChangePassword": true,
  "errorCode": 1,
  "aclTemplate": {
    "aclTemplate": {
      "Read": true,
      "ReadWrite": true,
      "ReadWriteCreate": true,
      "Delete": true,
      "PortalLogin": true
    }
  }
}

Revoke a token.

delete

/oauth2/{token}

Authorizations
Path parameters
tokenstringrequired
Responses
curl -L \
  --request DELETE \
  --url 'https://localhost:16001/api/v1/oauth2/{token}' \
  --header 'Authorization: Bearer JWT'

No body

Revoke a token.

delete

/suboauth2/{token}

Authorizations
Path parameters
tokenstringrequired
Responses
curl -L \
  --request DELETE \
  --url 'https://localhost:16001/api/v1/suboauth2/{token}' \
  --header 'Authorization: Bearer JWT'

No body

Retrieve the system layout.

get

/systemEndpoints

Authorizations
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/systemEndpoints' \
  --header 'Authorization: Bearer JWT'
{
  "endpoints": [
    {
      "type": "text",
      "id": 1,
      "vendor": "text",
      "uri": "https://example.com",
      "authenticationType": "text"
    }
  ]
}

Retrieve a list of existing users as well as some information about them.

get

/users

Authorizations
Query parameters
offsetinteger int64
limitinteger int64
filterstring

Selecting this option means the newest record will be returned. Use limit to select how many.

idOnlyboolean

Return only the ids.

selectstring

Return only the ids.

Example: id1,id2,id3,id4,id5
nameSearchstring

Name matching

emailSearchstring

Name matching

Responses
curl -L \
  --url 'https://localhost:16001/api/v1/users' \
  --header 'Authorization: Bearer JWT'

No body

Retrieve a list of existing users as well as some information about them.

get

/subusers

Authorizations
Query parameters
offsetinteger int64
limitinteger int64
filterstring

Selecting this option means the newest record will be returned. Use limit to select how many.

idOnlyboolean

Return only the ids.

selectstring

Return only the ids.

Example: id1,id2,id3,id4,id5
nameSearchstring

Name matching

emailSearchstring

Name matching

Responses
curl -L \
  --url 'https://localhost:16001/api/v1/subusers' \
  --header 'Authorization: Bearer JWT'

No body

Retrieve the information for a single user.

get

/user/{id}

Authorizations
Path parameters
idstring uuidrequired
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/user/{id}' \
  --header 'Authorization: Bearer JWT'

No body

Create a single user.

post

/user/{id}

Authorizations
Path parameters
idinteger int64required
Query parameters
email_verificationboolean
Body
idstring uuid
namestring
descriptionstring
avatarstring uri
emailstring email
validatedboolean
validationEmailstring email
validationDateinteger int64
createdinteger int64
validationURIstring
changePasswordboolean
lastLogininteger int64
currentLoginURIstring
lastPasswordChangeinteger int64
lastEmailCheckinteger int64
currentPasswordstring
lastPasswordsstring[]
waitingForEmailCheckboolean
notesobject[]
locationstring uuid
ownerstring uuid
suspendedboolean
blackListedboolean
localestring
userRoleenum
Options: root, admin, subscriber, csr, system, installer, noc, accounting
oauthTypeenum
Options: internal, normal, gmail, facebook, linkedin, instagram
oauthUserInfostring
securityPolicystring
securityPolicyChangeinteger int64
modifiedinteger int64
userTypeProprietaryInfoobject
signupUUIDstring uuid
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/user/{id}' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"lastPasswords":[null],"notes":[{}],"userRole":"root","oauthType":"internal","userTypeProprietaryInfo":{"mobiles":[{}],"mfa":{"method":"sms"}}}'

No body

Modify a single user.

put

/user/{id}

Authorizations
Path parameters
idinteger int64required
Query parameters
email_verificationboolean
forgotPasswordboolean
resetMFAboolean
Body
idstring uuid
namestring
descriptionstring
avatarstring uri
emailstring email
validatedboolean
validationEmailstring email
validationDateinteger int64
createdinteger int64
validationURIstring
changePasswordboolean
lastLogininteger int64
currentLoginURIstring
lastPasswordChangeinteger int64
lastEmailCheckinteger int64
currentPasswordstring
lastPasswordsstring[]
waitingForEmailCheckboolean
notesobject[]
locationstring uuid
ownerstring uuid
suspendedboolean
blackListedboolean
localestring
userRoleenum
Options: root, admin, subscriber, csr, system, installer, noc, accounting
oauthTypeenum
Options: internal, normal, gmail, facebook, linkedin, instagram
oauthUserInfostring
securityPolicystring
securityPolicyChangeinteger int64
modifiedinteger int64
userTypeProprietaryInfoobject
signupUUIDstring uuid
Responses
curl -L \
  --request PUT \
  --url 'https://localhost:16001/api/v1/user/{id}' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"lastPasswords":[null],"notes":[{}],"userRole":"root","oauthType":"internal","userTypeProprietaryInfo":{"mobiles":[{}],"mfa":{"method":"sms"}}}'

No body

Delete a single user.

delete

/user/{id}

Authorizations
Path parameters
idinteger int64required
Responses
curl -L \
  --request DELETE \
  --url 'https://localhost:16001/api/v1/user/{id}' \
  --header 'Authorization: Bearer JWT'
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Retrieve the information for a single user.

get

/subuser/{id}

Authorizations
Path parameters
idstring uuidrequired
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/subuser/{id}' \
  --header 'Authorization: Bearer JWT'

No body

Create a single user.

post

/subuser/{id}

Authorizations
Path parameters
idinteger int64required
Query parameters
email_verificationboolean
Body
idstring uuid
namestring
descriptionstring
avatarstring uri
emailstring email
validatedboolean
validationEmailstring email
validationDateinteger int64
createdinteger int64
validationURIstring
changePasswordboolean
lastLogininteger int64
currentLoginURIstring
lastPasswordChangeinteger int64
lastEmailCheckinteger int64
currentPasswordstring
lastPasswordsstring[]
waitingForEmailCheckboolean
notesobject[]
locationstring uuid
ownerstring uuid
suspendedboolean
blackListedboolean
localestring
userRoleenum
Options: root, admin, subscriber, csr, system, installer, noc, accounting
oauthTypeenum
Options: internal, normal, gmail, facebook, linkedin, instagram
oauthUserInfostring
securityPolicystring
securityPolicyChangeinteger int64
modifiedinteger int64
userTypeProprietaryInfoobject
signupUUIDstring uuid
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/subuser/{id}' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"lastPasswords":[null],"notes":[{}],"userRole":"root","oauthType":"internal","userTypeProprietaryInfo":{"mobiles":[{}],"mfa":{"method":"sms"}}}'

No body

Modify a single user.

put

/subuser/{id}

Authorizations
Path parameters
idinteger int64required
Query parameters
email_verificationboolean
forgotPasswordboolean
resetMFAboolean
Body
idstring uuid
namestring
descriptionstring
avatarstring uri
emailstring email
validatedboolean
validationEmailstring email
validationDateinteger int64
createdinteger int64
validationURIstring
changePasswordboolean
lastLogininteger int64
currentLoginURIstring
lastPasswordChangeinteger int64
lastEmailCheckinteger int64
currentPasswordstring
lastPasswordsstring[]
waitingForEmailCheckboolean
notesobject[]
locationstring uuid
ownerstring uuid
suspendedboolean
blackListedboolean
localestring
userRoleenum
Options: root, admin, subscriber, csr, system, installer, noc, accounting
oauthTypeenum
Options: internal, normal, gmail, facebook, linkedin, instagram
oauthUserInfostring
securityPolicystring
securityPolicyChangeinteger int64
modifiedinteger int64
userTypeProprietaryInfoobject
signupUUIDstring uuid
Responses
curl -L \
  --request PUT \
  --url 'https://localhost:16001/api/v1/subuser/{id}' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"lastPasswords":[null],"notes":[{}],"userRole":"root","oauthType":"internal","userTypeProprietaryInfo":{"mobiles":[{}],"mfa":{"method":"sms"}}}'

No body

Delete a single user.

delete

/subuser/{id}

Authorizations
Path parameters
idinteger int64required
Responses
curl -L \
  --request DELETE \
  --url 'https://localhost:16001/api/v1/subuser/{id}' \
  --header 'Authorization: Bearer JWT'
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Retrieve the avatar associated with a user ID.

get

/avatar/{id}

Authorizations
Path parameters
idstring uuidrequired
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/avatar/{id}' \
  --header 'Authorization: Bearer JWT'
text

Create an avatar associated with a user ID.

post

/avatar/{id}

Authorizations
Path parameters
idstring uuidrequired
Body
string binary
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/avatar/{id}' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: image/jpeg'
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Remove an avatar associated with a user ID.

delete

/avatar/{id}

Authorizations
Path parameters
idstring uuidrequired
Responses
curl -L \
  --request DELETE \
  --url 'https://localhost:16001/api/v1/avatar/{id}' \
  --header 'Authorization: Bearer JWT'
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Send test email with the system.

post

/email

Authorizations
Body
fromstring email
subjectstring
recipientsstring email[]
textstring
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/email' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"recipients":[null]}'
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Send test email with the system.

post

/sms

Authorizations
Query parameters
validateNumberboolean
completeValidationboolean
validationCodestring
Body
fromstring
tostring
textstring
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/sms' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json'
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Get the list of recorded preferences for a user

get

/userPreferences

Authorizations
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/userPreferences' \
  --header 'Authorization: Bearer JWT'

No body

Set the list of recorded preferences for a user

post

/userPreferences

Authorizations
Body
modifiedinteger int64
dataobject[]
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/userPreferences' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"data":[{}]}'

No body

Retrieve the cyrrent setting for MFA

get

/submfa

Authorizations
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/submfa' \
  --header 'Authorization: Bearer JWT'

No body

Retrieve the cyrrent setting for MFA

put

/submfa

Authorizations
Query parameters
startValidationboolean
completeValidationboolean
challengeCodestring
Body
idstring uuid
typeenum
Options: disabled, sms, email
emailstring email
smsstring
Responses
curl -L \
  --request PUT \
  --url 'https://localhost:16001/api/v1/submfa' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"type":"disabled"}'

No body

Retrieve the Authenticator QR Code

get

/totp

Authorizations
Query parameters
resetboolean
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/totp' \
  --header 'Authorization: Bearer JWT'
text

Send the first security code to validate your setup

put

/totp

Authorizations
Query parameters
valueinteger int64required
indexinteger int64required
Example: 1,2,3
Responses
curl -L \
  --request PUT \
  --url 'https://localhost:16001/api/v1/totp?value=1&index=1%2C2%2C3' \
  --header 'Authorization: Bearer JWT'
{
  "nextIndex": 1,
  "moreCodes": true
}

This call allows a new subscriber to register themselves and their devices.

post

/signup

Authorizations
Query parameters
emailstring emailrequired
signupUUIDstring uuidrequired
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/signup?email=hello%40example.com&signupUUID=123e4567-e89b-12d3-a456-426614174000' \
  --header 'Authorization: Bearer JWT'

No body

modify the signup command in play

put

/signup

Authorizations
Query parameters
signupUUIDstring uuidrequired
operationenumrequired
Options: cancel, success, inprogress, failed, poll, emailVerified
Body
reasonstring
timeinteger int64
errorCodeinteger int32
Responses
curl -L \
  --request PUT \
  --url 'https://localhost:16001/api/v1/signup?signupUUID=123e4567-e89b-12d3-a456-426614174000&operation=cancel' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json'
{
  "Operation": "text",
  "Details": "text",
  "Code": 1
}

Retrieve the list of security profiles for a specific service type.

get

/securityProfiles

Authorizations
Query parameters
offsetinteger

Pagination start (starts at 1. If not specified, 1 is assumed)

limitinteger

Maximum number of entries to return (if absent, no limit is assumed)

filterstring

Filter the results

Responses
curl -L \
  --url 'https://localhost:16001/api/v1/securityProfiles' \
  --header 'Authorization: Bearer JWT'

No body

Retrieve the basic system information. This information is used between services only.

get

/systemServices

Authorizations
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/systemServices' \
  --header 'Authorization: Bearer JWT'

No body

Allows any microservice to validate a token and get security policy for a specific user.

get

/validateToken

Authorizations
Query parameters
tokenstringrequired
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/validateToken?token=text' \
  --header 'Authorization: Bearer JWT'

No body

Allows any microservice to validate a token and get security policy for a specific user.

get

/validateSubToken

Authorizations
Query parameters
tokenstringrequired
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/validateSubToken?token=text' \
  --header 'Authorization: Bearer JWT'

No body

Retrieve different values from the running service.

get

/system

Authorizations
Query parameters
commandenumrequired

Get a value

Options: info
Responses
curl -L \
  --url 'https://localhost:16001/api/v1/system?command=info' \
  --header 'Authorization: Bearer JWT'
{
  "version": "text",
  "uptime": 1,
  "start": 1,
  "os": "text",
  "processors": 1,
  "hostname": "text",
  "certificates": [
    {
      "filename": "text",
      "expires": 1
    }
  ]
}

Perform some system wide commands.

post

/system

Authorizations
Body
one of
Responses
curl -L \
  --request POST \
  --url 'https://localhost:16001/api/v1/system' \
  --header 'Authorization: Bearer JWT' \
  --header 'Content-Type: application/json' \
  --data '{"command":"setloglevel","subsystems":[{}]}'
{
  "taglist": [
    {
      "tag": "text",
      "value": "text"
    }
  ]
}

Was this helpful?