0% found this document useful (0 votes)
27 views

API Documentation

Uploaded by

Jonas Nijs
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

API Documentation

Uploaded by

Jonas Nijs
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

API Documentation

Overview
This API provides various endpoints for managing clients, installations, devices, and user

authentication. It is built using Node.js, Express, and MySQL, and includes functionalities for user

authentication, device status monitoring, and data manipulation.

Setup Instructions
1. Install dependencies:

npm install

2. Configure environment variables:

Create a .env file with the following variables:

DB_HOST=<your-database-host>

DB_USER=<your-database-user>

DB_PASSWORD=<your-database-password>

JWT_SECRET=<your-jwt-secret>

GRAPH_ENDPOINT=<your-graph-endpoint>

3. Run the server:

node index.js

Endpoints
Authentication

Login

Endpoint: /api/login

Method: POST

Description: Authenticates a user and returns JWT tokens.

Request Body:

"Username": "string",
"Password": "string"

Response:

"accessToken": "string",

"refreshToken": "string"

Refresh Token

Endpoint: /api/refresh

Method: POST

Description: Refreshes the access token using the refresh token.

Request Body: None

Response:

"accessToken": "string"

Logout

Endpoint: /api/Logout

Method: POST

Description: Logs out the user and clears the tokens.

Request Body: None

Response: Logged out successfully

Client Management

Get Client Status

Endpoint: /api/GetClientStatus

Method: GET
Description: Retrieves the status of all clients.

Response:

"Client": "string",

"Connection": "boolean",

"LastHeartbeat": "string",

"ID": "number"

Device Management

Add Device

Endpoint: /api/add/Devices

Method: POST

Description: Adds a new device.

Request Body:

"Unique_ID": "string",

"Name": "string",

...

Response: Success

Get Devices

Endpoint: /api/GetDevices

Method: POST

Description: Retrieves devices based on client or installation.


Request Body:

"Client": "number",

"Installation": "number"

Response:

"ID": "number",

"Name": "string",

...

Installation Management

Get Installations

Endpoint: /api/GetInstallations

Method: POST

Description: Retrieves installations based on client.

Request Body:

"Client": "number"

Response:

"ID": "number",
"Name": "string",

...

Heartbeat Management

Heartbeat

Endpoint: /api/V2/Heartbeat

Method: POST

Description: Records a heartbeat from a device and returns plugin checksum.

Request Body:

"Device_ID": "string"

Response: string

Example Error Responses


401 Unauthorized: Missing or invalid authentication token.

404 Not Found: Requested resource not found.

409 Conflict: Resource already exists.

500 Internal Server Error: General server error.

You might also like