# Nimbus API
TIP
The Nimbus API is only acessible from the Nimbus workstation or server. To expose the API outside of the current device, a reverse proxy such as IIS or NGINX is required.
# Authentication
The Nimbus API uses basic authentication through the X-API-KEY header. An API user is a user account in the Nimbus system that is marked as a "API User". API users can only interact with Nimbus via the API and cannot login to the front end.
# Creating an API User
Log in to the Nimbus interface
Click the cog in the top right hand corner
Click User Manager
Click Add User
Enter the following details:
- Username: A unique username for the account
- Last Name (optional): A description of what the API user is for
- Password: A secure password, although it is reccomended to avoid the colon ( : ) character for API users
- Confirm Password: Same password as above
- User Type: Select "API User"
- Click Save Changes
# Using Credentials
WARNING
NEVER use the sample usernames or passwords below in your system. Always use unique, secure usernames and passwords.
- Concatenate the username and password together, seperated with a colon. For example;
apiuser:apipassword1
- Base64 encode the above with a tool such as base64encode.org, which should result in a string of text similar to the below.
YXBpdXNlcjphcGlwYXNzd29yZDE=
- Pass the Base64 encoded string in the X-API-USER header with the below requests.
# API Methods
TIP
The base url for the Nimbus API is https://localhost:5042/. This will change if you use a reverse proxy.
# Address Book
# /api/v1/addressbook [GET]
Returns entries in your local address book
This method takes no paramaters.
# /api/v1/addressbook/search [GET]
Searches your local address book or the global address book
Paramater | Required | Details |
---|---|---|
searchTerm | Yes | Pass a string containing the search criteria |
globalSearch | No | Pass 'true' to search the global address book, or omit to search the local address book |
# /api/v1/addressbook/add [POST]
Add an entry to your local address book from the global address book
Paramater | Required | Details |
---|---|---|
profileIdentifier | Yes | Pass a profile identifier retrieved from the global address book using the /search method above |
# /api/v1/addressbook/delete [DELETE]
Delete an entry from your local address book
Paramater | Required | Details |
---|---|---|
profileIdentifier | Yes | Pass a profile identifier retrieved from the local address book using the /addressbook method above |
# Lite Account
# /api/v1/liteaccount [GET]
Required Nimbus Version (or higher): 1.2.1873
Returns all registered lite accounts.
This method takes no paramaters.
# /api/v1/liteaccount [POST]
Required Nimbus Version (or higher): 1.2.1873
Create a new lite account. Requires a model to be passed in the JSON body with the following properties.
Property | Required | Details |
---|---|---|
EmailAddress | Yes | Email address for the account (must not already be in use) |
Message | No | Message to be displayed to the user when they log into the lite client |
TransferLimit | No | Transfer limit for the account in megabytes |
A model will be returned with an auto generated PIN number and the expiry time of the account.
# /api/v1/liteaccount [PUT]
Required Nimbus Version (or higher): 1.2.1873
Update an existing lite account. Requires a model to be passed in the JSON body with the following properties.
Property | Required | Details |
---|---|---|
EmailAddress | Yes | Email address for the account (must not already be in use) |
Message | No | Message to be displayed to the user when they log into the lite client |
TransferLimit | No | Transfer limit for the account in megabytes |
A model will be returned with only the expiry time of the account.
# /api/v1/liteaccount/{emailAddress} [GET]
Required Nimbus Version (or higher): 1.2.1873
Get the details of an existing lite account. Note this will return all details of the account, except for the PIN number.
# /api/v1/liteaccount/{emailAddress} [DELETE]
Required Nimbus Version (or higher): 1.2.1873
Delete an existing lite account.
# /api/v1/liteaccount/{emailAddress}/extend [PUT]
Required Nimbus Version (or higher): 1.2.1873
Set a given lite accounts expiry to the current date, plus 30 days (ie. 1 month).
# /api/v1/liteaccount/{emailAddress}/resetpin [PUT]
Required Nimbus Version (or higher): 1.2.1873
Reset the PIN number of a given account. Will return the new PIN number in the response.
# Send
# /api/v1/file/send [POST]
Send a file to a specified recipient. Requires a model to be passed in the JSON body with the following properties.
Property | Required | Details |
---|---|---|
ProfileIdentifier | Yes | Profile\recipient to send this file to |
FileName | Yes | Filename of the file being sent |
Data | Yes | Base64 encoded representation of the file |
# Swagger
Nimbus exposes a Swagger interface and respective Swagger files. To access Swagger, navigate to https://localhost:5042/swagger on your Nimbus workstation or server. The Swagger interface allows you to test methods directly from the Web UI.
The swagger.json file can be obtained from https://localhost:5042/swagger/v1/swagger.json on your Nimbus workstation or server.