Download OpenAPI specification:Download
The Scailable Authorisation API is responsible for authenticating users, organising users into organisations and managing licensing.
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.
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.
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.
Refresh a JWT token.
Time-out set to 15s. Requires an authenticated user.
GrantType required | string |
{- "GrantType": "string"
}
{- "AccessToken": "string",
- "RefreshToken": "string"
}
Sign in a single user.
Time-out set to 15s.
KeepLoggedIn required | boolean |
Password required | string |
Username required | string |
{- "KeepLoggedIn": true,
- "Password": "string",
- "Username": "string"
}
{- "AccessToken": "string",
- "RefreshToken": "string"
}
Sign a user out.
Time-out set to 15s. Requires an authenticated user.
{- "AuthorizationInvalid": true,
- "BackendMessage": "string",
- "Email": "string",
- "Field": {
- "Message": "string",
- "Name": "string"
}, - "Message": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}
Get a single license.
Time-out set to 1s. Requires an authenticated user.
uuid required | any Use license uuid |
{- "Agreement": {
- "Kind": "string",
- "Name": "string",
- "Provides": [
- "string"
], - "PublishedAt": "2019-08-24T14:15:22Z",
- "Summary": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "AmountPerMonth": 0,
- "CatalogueUUIDs": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "DiscountBP": 0,
- "ExpiresAt": "2019-08-24T14:15:22Z",
- "LicenseKey": "string",
- "PaidUntilAt": "2019-08-24T14:15:22Z",
- "ProviderOrganisation": {
- "Name": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "SignedUser": {
- "Name": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "SignedUserAt": "2019-08-24T14:15:22Z",
- "StartsAt": "2019-08-24T14:15:22Z",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}
Return a list of licenses.
Time-out set to 5s. Requires an authenticated user.
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 |
[- {
- "Agreement": {
- "Kind": "string",
- "Name": "string",
- "Provides": [
- "string"
], - "PublishedAt": "2019-08-24T14:15:22Z",
- "Summary": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "AmountPerMonth": 0,
- "CatalogueUUIDs": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "DiscountBP": 0,
- "ExpiresAt": "2019-08-24T14:15:22Z",
- "LicenseKey": "string",
- "PaidUntilAt": "2019-08-24T14:15:22Z",
- "ProviderOrganisation": {
- "Name": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "SignedUser": {
- "Name": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "SignedUserAt": "2019-08-24T14:15:22Z",
- "StartsAt": "2019-08-24T14:15:22Z",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}
]
Handle plugin login.
Time-out set to 5s.
refresh_token required | string |
system_nxid required | string |
{- "refresh_token": "string",
- "system_nxid": "string"
}
{- "AccessToken": "string",
- "Error": "string",
- "RefreshToken": "string",
- "TotpAccessCode": "string"
}
Handle code login.
Time-out set to 5s.
code required | string |
state required | string |
{- "code": "string",
- "state": "string"
}
{- "AccessToken": "string",
- "Error": "string",
- "RefreshToken": "string",
- "TotpAccessCode": "string"
}
Get a unique CSRF token.
Time-out set to 5s.
AuthenticationEndpoint required | string |
RedirectURL required | string |
{- "AuthenticationEndpoint": "string",
- "RedirectURL": "string"
}
{ }
Log into Nx.
Time-out set to 5s.
Email required | string |
Password required | string |
{- "Email": "string",
- "Password": "string"
}
{- "AccessToken": "string",
- "Error": "string",
- "RefreshToken": "string",
- "TotpAccessCode": "string"
}
Log user out.
Time-out set to 5s. Requires an authenticated user.
GrantType required | string |
Password required | string |
{- "GrantType": "string",
- "Password": "string"
}
{- "AccessToken": "string",
- "Error": "string",
- "RefreshToken": "string",
- "TotpAccessCode": "string"
}
Update tokens.
Time-out set to 5s. Requires an authenticated user.
GrantType required | string |
Password required | string |
{- "GrantType": "string",
- "Password": "string"
}
{- "AccessToken": "string",
- "Error": "string",
- "RefreshToken": "string",
- "TotpAccessCode": "string"
}
Add verification code to log in.
Time-out set to 1s.
token required | string |
totp required | string |
{- "token": "string",
- "totp": "string"
}
{- "AccessToken": "string",
- "Error": "string",
- "RefreshToken": "string",
- "TotpAccessCode": "string"
}
Return information for a user.
Time-out set to 1s. Requires an authenticated user.
uuid required | any Use user uuid |
{- "Email": "string",
- "IsSuperAdmin": true,
- "Name": "string",
- "NxID": "string",
- "Organisation": {
- "Name": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}
Update information for a user.
Time-out set to 5s. Requires an authenticated user.
uuid required | any Use user uuid |
Name | string |
Newsletter | boolean |
PhoneNumber | string or null |
{- "Name": "string",
- "Newsletter": true,
- "PhoneNumber": "string"
}
{- "Email": "string",
- "IsSuperAdmin": true,
- "Name": "string",
- "NxID": "string",
- "Organisation": {
- "Name": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}, - "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}