This package provides a complete development kit for working with the N-able N-sight RMM Data Extraction API, including:
-
Postman Collection (
n-able-n-sight-postman-collection.json)- Complete API endpoint documentation
- Request/response examples
- Built-in rate limiting
- Environment variable templates
-
TypeScript Definitions (
src/types/)active-directory.ts: Active Directory user and group typesantivirus.ts: Managed antivirus typesbackup.ts: Backup and recovery typesclient-site.ts: Client and site management typescommon.ts: Shared type definitionsindex.ts: Type exportsmonitoring.ts: Device monitoring typespatch-management.ts: Patch management typestasks.ts: Task management types
-
API Documentation (
API Docs/)- Detailed endpoint documentation
- Usage examples
- Error handling
- Best practices
-
Postman Setup
- Import
n-able-n-sight-postman-collection.jsoninto Postman - Create a new environment with variables:
server: Your N-able N-sight server URLapikey: Your API key
- Import
-
TypeScript Integration
- Copy the
src/typesdirectory into your project - Import types as needed:
import { Client, Site } from './types/client-site'; import { BackupSession } from './types/backup'; // etc.
- Copy the
The collection includes automatic rate limiting via a pre-request script that enforces a 90-second delay between requests to comply with API limitations.
The TypeScript definitions provide type safety and IntelliSense support for:
- Request parameters
- Response structures
- Configuration objects
- Common utilities
Refer to the API Docs/ directory for:
- Detailed endpoint descriptions
- Request/response examples
- Error codes and handling
- Best practices and usage tips
import { Client } from './types/client-site';
import { DeviceMonitoring } from './types/monitoring';
// Example typed response handling
async function getClientDevices(clientId: string): Promise<DeviceMonitoring[]> {
const response = await fetch(`${server}/api/?apikey=${apikey}&service=list_device_monitoring_details&clientid=${clientId}`);
const data = await response.json();
return data.devices as DeviceMonitoring[];
}When adding new endpoints or updating existing ones:
- Update the Postman collection
- Add corresponding TypeScript types
- Update the documentation
- Test with the provided type definitions
This development kit is provided as-is under the MIT license.