A comprehensive TypeScript client for the Quant API, providing access to all Quant Cloud services including applications, environments, containers, cron jobs, and more.
npm install quant-ts-clientimport { EnvironmentsApi, Configuration } from 'quant-ts-client';
// Create a configuration with your API key
const config = new Configuration({
apiKey: 'YOUR_API_KEY',
basePath: 'https://dashboard.quantcdn.io'
});
// Initialize an API instance
const environmentsApi = new EnvironmentsApi(config.basePath);
environmentsApi.setDefaultAuthentication({
applyToRequest: (requestOptions) => {
if (requestOptions && requestOptions.headers) {
requestOptions.headers["Authorization"] = `Bearer ${config.apiKey}`;
}
}
});
// Example: List all environments for an application
environmentsApi.listEnvironments('your-org-id', 'your-app-id')
.then(response => {
console.log(response.body);
})
.catch(error => {
console.error(error);
});The client provides access to the following API endpoints:
ApplicationsApi- Manage applicationsEnvironmentsApi- Manage environmentsContainersApi- Manage containersCommandsApi- Execute commandsComposeApi- Docker Compose and container definitions
CronApi- Manage cron jobsCrawlersApi- Web crawler managementCrawlerSchedulesApi- Crawler scheduling
VariablesApi- Environment variablesVolumesApi- Volume managementKVApi- Key-value storageBackupManagementApi- Backup operations
SSHAccessApi- SSH access managementOrganizationsApi- Organization managementProjectsApi- Project management
RulesApi- Unified rules management (auth, redirects, proxies, headers, etc.)
DomainsApi- Domain managementHeadersApi- Custom headersPurgeApi- Cache purgingScalingPolicyApi- Auto-scaling policies
AIServicesApi- AI services integration
import { ApplicationsApi } from 'quant-ts-client';
const appsApi = new ApplicationsApi(config.basePath);
appsApi.setDefaultAuthentication(auth);
// List all applications
const apps = await appsApi.listApplications('your-org-id');
// Create a new application
const newApp = await appsApi.createApplication('your-org-id', {
name: 'my-app',
description: 'My new application'
});import { EnvironmentsApi } from 'quant-ts-client';
const envsApi = new EnvironmentsApi(config.basePath);
envsApi.setDefaultAuthentication(auth);
// Create an environment
const env = await envsApi.createEnvironment('org-id', 'app-id', {
name: 'production'
});
// Get environment logs
const logs = await envsApi.getEnvironmentLogs('org-id', 'app-id', 'env-id');import { CronApi } from 'quant-ts-client';
const cronApi = new CronApi(config.basePath);
cronApi.setDefaultAuthentication(auth);
// Create a cron job
const cronJob = await cronApi.createCronJob('org-id', 'app-id', 'env-id', {
name: 'daily-backup',
schedule: '0 2 * * *',
command: 'backup-database'
});- Node.js 16+
- TypeScript 4.9+
npm install
npm run buildTo test the package locally in another project:
# In the SDK directory
npm run build
npm link
# In your project directory
npm link quant-ts-clientnpm publishThis package includes full TypeScript definitions and is built with TypeScript 4.9+. All API methods, request/response types, and configuration options are fully typed.
The client includes comprehensive error handling with typed error responses:
try {
const response = await environmentsApi.getEnvironment('org', 'app', 'env');
} catch (error) {
if (error instanceof HttpError) {
console.error(`HTTP ${error.statusCode}: ${error.message}`);
} else {
console.error('Unexpected error:', error);
}
}MIT