@kyuzan/mountain-public-api-client
v1.0.0
Published
Auto-generated TypeScript client for MOUNTAIN Public API
Readme
@kyuzan/mountain-public-api-client
TypeScript client library for MOUNTAIN Public API.
Installation
npm install @kyuzan/mountain-public-api-client
# or
yarn add @kyuzan/mountain-public-api-client
# or
pnpm add @kyuzan/mountain-public-api-clientQuick Start
import { Configuration, ProjectApi } from '@kyuzan/mountain-public-api-client';
// Configure the client
const config = new Configuration({
basePath: 'https://api.mountain-dev.xyz',
apiKey: 'your-api-key', // For API Key authentication
// or
accessToken: 'your-access-token', // For Access Token authentication
});
// Create API instances
const projectApi = new ProjectApi(config);
// Use the API
const projects = await projectApi.getProjects();
console.log(projects.data);Authentication
MOUNTAIN Public API supports two authentication methods:
1. API Key Authentication
const config = new Configuration({
basePath: 'https://api.mountain-dev.xyz',
apiKey: 'your-api-key',
});2. Access Token Authentication
const config = new Configuration({
basePath: 'https://api.mountain-dev.xyz',
accessToken: 'your-access-token',
});Available APIs
ProjectApi
getProjects()- Get list of projectsgetProjectDetail(projectId)- Get project details
ContractApi
importContract(projectId, request)- Import a smart contractactivateContractFunction(projectId, contractId, functionName, request)- Activate a contract functiondeactivateContractFunction(projectId, contractId, functionName, request)- Deactivate a contract functiongetContractActivatedFunctions(projectId, contractId, request)- Get activated functions
TransactionApi
executeTransaction(projectId, request)- Execute a transactiongetTransaction(projectId, transactionId)- Get transaction detailsgetTransactions(projectId)- Get list of transactions
EventNotifierApi
createEventNotifierSubscription(projectId, request)- Create webhook subscriptiongetEventNotifierSubscriptions(projectId)- Get webhook subscriptionsupdateEventNotifierSubscriptionWebhook(projectId, subscriptionId, request)- Update webhook URLgetEventNotifierRecords(projectId, request)- Get event recordsresendFailedWebhook(projectId, recordId, request)- Resend failed webhook
Examples
Execute a Transaction
import { Configuration, TransactionApi } from '@kyuzan/mountain-public-api-client';
const config = new Configuration({
basePath: 'https://api.mountain-dev.xyz',
accessToken: 'your-access-token',
});
const transactionApi = new TransactionApi(config);
const result = await transactionApi.executeTransaction('project-id', {
chain: 'ethereum',
functionName: 'transfer',
contractAddress: '0x...',
args: ['0xrecipient...', '1000000000000000000'],
abi: [...], // Contract ABI
});
console.log('Transaction ID:', result.data.transactionId);Subscribe to Events
import { Configuration, EventNotifierApi } from '@kyuzan/mountain-public-api-client';
const config = new Configuration({
basePath: 'https://api.mountain-dev.xyz',
apiKey: 'your-api-key',
});
const eventApi = new EventNotifierApi(config);
const subscription = await eventApi.createEventNotifierSubscription('project-id', {
chain: 'ethereum',
contractAddress: '0x...',
eventName: 'Transfer',
webhookUrl: 'https://your-webhook-endpoint.com/webhook',
});
console.log('Subscription ID:', subscription.data.subscriptionId);Error Handling
import { AxiosError } from 'axios';
try {
const result = await projectApi.getProjects();
} catch (error) {
if (error instanceof AxiosError) {
console.error('API Error:', error.response?.data);
console.error('Status:', error.response?.status);
} else {
console.error('Unknown error:', error);
}
}TypeScript Support
This package is written in TypeScript and provides full type definitions for all API requests and responses.
API Reference
For detailed API documentation, please visit MOUNTAIN Public API Reference.
License
MIT
Support
For support and questions, please visit MOUNTAIN Documentation.
