const axios = require('axios');
async function checkAnomalyFields() {
const BASE_URL = 'https://api.dev.umbrellacost.dev/api';
const USERNAME = 'elisha+testmcpdev@anodot.com';
const PASSWORD = 'Test123!';
const ACCOUNT_KEY = '111111639';
const DIVISION_ID = '0';
try {
const authResponse = await axios.post(`${BASE_URL}/v1/users/signin`, {
username: USERNAME,
password: PASSWORD
});
const token = authResponse.data.jwtToken;
const tokenPayload = JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
const userKey = tokenPayload.sub;
const response = await axios.get(`${BASE_URL}/v1/anomaly-detection`, {
params: {
startDate: '2025-09-01',
endDate: '2025-10-07',
isPpApplied: false
},
headers: {
'Authorization': token,
'apikey': `${userKey}:${ACCOUNT_KEY}:${DIVISION_ID}`,
'Content-Type': 'application/json',
'commonParams': JSON.stringify({isPpApplied: false})
}
});
if (response.data.anomalies && response.data.anomalies.length > 0) {
const firstAnomaly = response.data.anomalies[0];
console.log('First anomaly top-level fields:');
console.log(Object.keys(firstAnomaly).sort());
console.log('\nFirst anomaly cost-related fields:');
Object.keys(firstAnomaly).forEach(key => {
if (key.toLowerCase().includes('cost') || key.toLowerCase().includes('impact') || key.toLowerCase().includes('delta')) {
console.log(` ${key}: ${firstAnomaly[key]}`);
}
});
console.log('\n\nFull first anomaly (excluding large arrays):');
const simplified = {...firstAnomaly};
delete simplified.baseline;
delete simplified.dataPoints;
delete simplified.anomalyTriggeredItems;
console.log(JSON.stringify(simplified, null, 2));
}
} catch (error) {
console.error('❌ Error:', error.message);
}
}
checkAnomalyFields();