Network Optix Authorisation API (1.0.1)

Download OpenAPI specification:Download

The Scailable Authorisation API is responsible for authenticating users, organising users into organisations and managing licensing.

What can you do with this API

Using this API you can register new users and authenticate existing users in the Scailable Cloud.

Users can reset their passwords and change user information using the calls available in this API.

With this API the licenses for devices can be looked up.

The private endpoints in the Admin and IPC sections are used in the internal admin tools. These are not visible in the public documentation.

Quick start

Signing in a user is done by sending a GET request to /authenticate/signin with an email address and a password.

To register a new user must check if the password is strong enough with a POST request to /authenticate/password-strength first, and then send a POST request to /user with the required fields.

Technical environment

The API is part of the Scailable Cloud and handles the management of users, organisation for the Cloud Admin interface and by Edge devices connecting to our cloud.


Authenticate

Refresh a JWT token

Refresh a JWT token.

Time-out set to 15s. Requires an authenticated user.

Authorizations:
User
Request Body schema: application/json
GrantType
required
string

Responses

Request samples

Content type
application/json
{
  • "GrantType": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "RefreshToken": "string"
}

Sign in a single user

Sign in a single user.

Time-out set to 15s.

Request Body schema: application/json
KeepLoggedIn
required
boolean
Password
required
string
Username
required
string

Responses

Request samples

Content type
application/json
{
  • "KeepLoggedIn": true,
  • "Password": "string",
  • "Username": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "RefreshToken": "string"
}

Sign a user out

Sign a user out.

Time-out set to 15s. Requires an authenticated user.

Authorizations:
User

Responses

Response samples

Content type
application/json
{
  • "AuthorizationInvalid": true,
  • "BackendMessage": "string",
  • "Email": "string",
  • "Field": {
    },
  • "Message": "string",
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Global

Return configured parameters for service

Return configured parameters for service.

Time-out set to 1s. Requires an authenticated user.

Authorizations:
User

Responses

Response samples

Content type
application/json
{
  • "Features": {
    }
}

License

Get a single license

Get a single license.

Time-out set to 1s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use license uuid

Responses

Response samples

Content type
application/json
{
  • "Agreement": {
    },
  • "AmountPerMonth": 0,
  • "CatalogueUUIDs": [
    ],
  • "DiscountBP": 0,
  • "ExpiresAt": "2019-08-24T14:15:22Z",
  • "LicenseKey": "string",
  • "PaidUntilAt": "2019-08-24T14:15:22Z",
  • "ProviderOrganisation": {
    },
  • "SignedUser": {
    },
  • "SignedUserAt": "2019-08-24T14:15:22Z",
  • "StartsAt": "2019-08-24T14:15:22Z",
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Return a list of licenses

Return a list of licenses.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
query Parameters
Offset
integer

Number of items to skip from beginning of list (base 0)

Limit
integer

Number of items to return

OrderBy
string
Enum: "AgreementName" "LicenseKey" "StartsAt" "ExpiresAt"

Order the list by these fields. Add a '-' in front of the field to reverse sort and to sort on multiple fields separate them by a comma.

q
string or null

Filter by search text

Device
string <uuid>

filter by device

Kind
string or null

filter by kind

Agreement
string or null

filter by agreement

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Nx

Handle plugin login

Handle plugin login.

Time-out set to 5s.

Request Body schema: application/json
refresh_token
required
string
system_nxid
required
string

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "string",
  • "system_nxid": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "Error": "string",
  • "RefreshToken": "string",
  • "TotpAccessCode": "string"
}

Handle code login

Handle code login.

Time-out set to 5s.

Request Body schema: application/json
code
required
string
state
required
string

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "state": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "Error": "string",
  • "RefreshToken": "string",
  • "TotpAccessCode": "string"
}

Get a unique CSRF token

Get a unique CSRF token.

Time-out set to 5s.

Request Body schema: application/json
AuthenticationEndpoint
required
string
RedirectURL
required
string

Responses

Request samples

Content type
application/json
{
  • "AuthenticationEndpoint": "string",
  • "RedirectURL": "string"
}

Response samples

Content type
application/json
{ }

Log into Nx

Log into Nx.

Time-out set to 5s.

Request Body schema: application/json
Email
required
string
Password
required
string

Responses

Request samples

Content type
application/json
{
  • "Email": "string",
  • "Password": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "Error": "string",
  • "RefreshToken": "string",
  • "TotpAccessCode": "string"
}

Log user out

Log user out.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
Request Body schema: application/json
GrantType
required
string
Password
required
string

Responses

Request samples

Content type
application/json
{
  • "GrantType": "string",
  • "Password": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "Error": "string",
  • "RefreshToken": "string",
  • "TotpAccessCode": "string"
}

Update tokens

Update tokens.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
Request Body schema: application/json
GrantType
required
string
Password
required
string

Responses

Request samples

Content type
application/json
{
  • "GrantType": "string",
  • "Password": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "Error": "string",
  • "RefreshToken": "string",
  • "TotpAccessCode": "string"
}

Add verification code to log in

Add verification code to log in.

Time-out set to 1s.

Request Body schema: application/json
token
required
string
totp
required
string

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "totp": "string"
}

Response samples

Content type
application/json
{
  • "AccessToken": "string",
  • "Error": "string",
  • "RefreshToken": "string",
  • "TotpAccessCode": "string"
}

Cloud

Return the online status of the service

Return the online status of the service.

Responses

Response samples

Content type
application/json
{
  • "Online": true,
  • "Services": { }
}

User

Return user information

Return information for a user.

Time-out set to 1s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use user uuid

Responses

Response samples

Content type
application/json
{
  • "Email": "string",
  • "IsSuperAdmin": true,
  • "Name": "string",
  • "NxID": "string",
  • "Organisation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Patch your user information

Update information for a user.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use user uuid

Request Body schema: application/json
Name
string
Newsletter
boolean
PhoneNumber
string or null

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Newsletter": true,
  • "PhoneNumber": "string"
}

Response samples

Content type
application/json
{
  • "Email": "string",
  • "IsSuperAdmin": true,
  • "Name": "string",
  • "NxID": "string",
  • "Organisation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}