Install
openclaw skills install alibabacloud-odps-cost-analysisAlibaba Cloud MaxCompute Cost Analysis Skill. Analyze MaxCompute pay-as-you-go costs including billing, storage metrics, and compute metrics. Triggers: "maxcompute cost", "odps cost", "maxcompute billing", "maxcompute费用", "成本分析", "费用分析", "存储用量", "计算用量", "费用突增", "SQL签名", "SQL signature", "重复SQL", "扫描量最大", "daily billing details", "每日账单明细", "按计费项", "billing by fee item".
openclaw skills install alibabacloud-odps-cost-analysisAnalyze Alibaba Cloud MaxCompute (ODPS) pay-as-you-go costs: billing summaries, storage metrics, and compute metrics across 10 APIs.
⚠️ MANDATORY PRODUCT CONSTRAINT: This skill uses ONLY the 10
aliyun maxcomputeCLI commands listed in API Overview below (plugin mode, version 2022-01-04). NEVER usealiyun bssopenapior any of its actions (billing queries, instance bills, etc.). NEVER use other MaxCompute APIs not in the 10-API list (e.g.,list-job-infos,get-running-jobs,list-projects,list-tables,get-storage-amount-summary). NEVER use any other product CLI (aliyun odps,aliyun dataworks,aliyun compute-nest,aliyun cms,aliyun actiontrail, etc.). Ifaliyun maxcomputecommands fail, fix the plugin — do NOT fall back to other APIs or products.Intent → API Mapping (use ONLY these):
- Billing/费用 →
sum-bills,sum-bills-by-date,sum-daily-bills-by-item- Daily cost spike/费用突增/每日趋势 →
sum-bills-by-date(MANDATORY for locating spike dates — NOTsum-daily-bills-by-item)- Paginated daily billing details/每日账单明细/按计费项的每日账单 →
sum-daily-bills-by-item(MANDATORY — NOT anybssopenapicommand)- Storage/存储 →
sum-storage-metrics-by-typeANDsum-storage-metrics-by-date(BOTH MANDATORY —sum-storage-metrics-by-typealone is NOT sufficient)- Compute jobs/计算作业/expensive jobs/贵的作业 →
list-compute-metrics-by-instance(MANDATORY — NEVER uselist-job-infos,get-running-jobs,get-job-resource-usage)- SQL signatures/SQL签名/重复SQL/扫描量 →
list-compute-metrics-by-signature(MANDATORY for any SQL pattern analysis)- SCAN usage trends/扫描量趋势/CU usage →
sum-compute-metrics-by-usage(MANDATORY — usageType=SCAN or CU; NEVER use CloudMonitor or ActionTrail)- Compute record counts →
sum-compute-metrics-by-record
Pre-check: Aliyun CLI >= 3.3.3 required
Run
aliyun versionto verify >= 3.3.3. If not installed or version too low, runcurl -fsSL https://aliyuncli.alicdn.com/setup.sh | bashto update, or seereferences/cli-installation-guide.mdfor installation instructions.Then [MUST] run
aliyun plugin updateto ensure that any existing plugins on your local machine are always up-to-date.
[MUST] CLI User-Agent — Every aliyun CLI command invocation must include:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
[MUST] AI-Mode Commands — When using aliyun CLI, declare AI-Mode lifecycle:
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis"
aliyun configure ai-mode disable
When user asks about MaxCompute cost analysis, follow these steps:
aliyun maxcompute CLI command with --region {REGION_ID} and --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
IMPORTANT: ALL commands MUST start with
aliyun maxcompute. NEVER usealiyun bssopenapior any other product.
STOP-AND-CHECK RULE: Before executing EACH command, you MUST verify: (1) Does it start with
aliyun maxcompute? (2) Is the API name in the 10-API list? (3) Does it include--user-agent? If ANY answer is NO, do NOT execute — fix first.
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysisaliyun maxcompute (NOT aliyun bssopenapi, NOT any other product)list-job-infos, get-running-jobs, list-projects, list-tables, etc.)aliyun maxcompute --help succeeds)--region {ACTUAL_REGION_ID}aliyun bssopenapi or any of its actionsIf ANY check fails, STOP and fix before proceeding.
| API | Description | Method | Category |
|---|---|---|---|
| list-instances | Get instance/project list (NOT compute metrics — see list-compute-metrics-by-instance for job-level data) | GET | Instance |
| sum-bills | Summarize bills by project or fee item | POST | Billing |
| sum-bills-by-date | Daily bill trends (USE THIS for spike analysis) | POST | Billing |
| sum-daily-bills-by-item | Daily bill details by item (paginated drill-down) | POST | Billing |
| sum-storage-metrics-by-type | Storage grouped by TYPE | POST | Storage |
| sum-storage-metrics-by-date | Storage daily DATE trends (MUST call separately) | POST | Storage |
| list-compute-metrics-by-instance | Compute JOB METRICS per instance (cost, duration, input size) | POST | Compute |
| list-compute-metrics-by-signature | Compute by SQL signature | POST | Compute |
| sum-compute-metrics-by-usage | Compute usage trends | POST | Compute |
| sum-compute-metrics-by-record | Compute record counts | POST | Compute |
⚠️ API Disambiguation — Do NOT confuse these two billing APIs:
sum-bills-by-date= Daily cost TRENDS → Use this to locate spike dates (returns cost per day)sum-daily-bills-by-item= Daily bill DETAILS by item → Use this for drill-down after finding spikes (paginated, returns per-item breakdown)For cost spike investigation, you MUST call
sum-bills-by-datefirst.sum-daily-bills-by-itemis optional for drill-down only.⚠️ API Disambiguation — Do NOT confuse these two "instance" APIs:
list-instances= Returns the PROJECT/INSTANCE LIST (for scoping which projects to analyze)list-compute-metrics-by-instance= Returns COMPUTE JOB METRICS (cost, duration, input size per job)These are COMPLETELY DIFFERENT APIs.
list-instancesdoes NOT return compute metrics. You MUST call BOTH.⚠️ API Disambiguation — Do NOT confuse these two storage APIs:
sum-storage-metrics-by-type= Storage grouped by TYPE (may includedailyStorageMetricsin response, but this does NOT replacesum-storage-metrics-by-date)sum-storage-metrics-by-date= Storage daily DATE trends (dedicated API for daily storage trends)Even if
sum-storage-metrics-by-typereturns daily data in its response, you MUST still callsum-storage-metrics-by-dateseparately when daily trends are needed.
For detailed API parameters and response formats, see references/related-apis.md.
CRITICAL: You MUST complete ALL steps in order. Do NOT stop early.
aliyun maxcompute list-instances --region {REGION_ID} --startDate {START_MS} --endDate {END_MS} --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
⚠️
list-instancesonly returns the project/instance list for scoping. It does NOT return compute job metrics. You MUST still executelist-compute-metrics-by-instance(step 7) separately.
statsType=FEE_ITEM to identify top cost drivers:
aliyun maxcompute sum-bills --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"FEE_ITEM","topN":10}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
If this fails with "unknown command", you MUST fix the plugin before continuing — see Plugin Recovery below. NEVER skip this step or substitute with a non-billing API.
aliyun maxcompute sum-bills-by-date --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"FEE_ITEM","topN":8}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
⚠️
sum-bills-by-date≠sum-daily-bills-by-item. For locating spike dates, you MUST usesum-bills-by-date. Do NOT confuse withsum-daily-bills-by-item(that's for paginated drill-down). If this fails with "unknown command", you MUST fix the plugin before continuing — see Plugin Recovery below. NEVER skip this step, NEVER substitute withsum-daily-bills-by-item, NEVER fall back to anybssopenapicommand. ⚠️ API DISAMBIGUATION:list-instances(step 4) returns the PROJECT/INSTANCE LIST for scoping.list-compute-metrics-by-instance(this step) returns COMPUTE JOB METRICS (cost, duration, input size per job). These are COMPLETELY DIFFERENT APIs. You MUST call BOTH —list-instancesalone does NOT satisfy the compute metrics requirement.
list-instances, NOT list-job-infos, NOT get-running-jobs, NOT get-job-resource-usage) to find expensive compute jobs:
aliyun maxcompute list-compute-metrics-by-instance --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"types":["ComputationSql"],"pageNumber":1,"pageSize":10}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
aliyun maxcompute sum-storage-metrics-by-type --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"STORAGE_TYPE"}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
aliyun maxcompute sum-daily-bills-by-item --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"FEE_ITEM","pageNumber":1,"pageSize":10}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
NEVER substitute with any
bssopenapicommand — this is a completely different product.
Plugin Recovery (execute when aliyun maxcompute sum-bills or sum-bills-by-date returns "unknown command"):
aliyun configure set --auto-plugin-install true
aliyun plugin install maxcompute
aliyun plugin update maxcompute
# Verify plugin is working
aliyun maxcompute --help
# Then retry the failed billing command
aliyun maxcompute sum-bills --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"{TYPE}","topN":10}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
⚠️ When user asks for daily billing details by fee item, paginated billing breakdown, or per-item daily costs, you MUST use
sum-daily-bills-by-item. NEVER use anybssopenapicommand or any other product.
aliyun maxcompute sum-daily-bills-by-item --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"FEE_ITEM","pageNumber":1,"pageSize":10}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
If this fails with "unknown command", run Plugin Recovery. NEVER substitute with any
bssopenapicommand or any other API.
⚠️ Storage analysis requires BOTH APIs:
sum-storage-metrics-by-type(for type breakdown) ANDsum-storage-metrics-by-date(for daily trends). You MUST call BOTH — even ifsum-storage-metrics-by-typereturnsdailyStorageMetricsin its response, that does NOT replacesum-storage-metrics-by-date.
aliyun maxcompute sum-storage-metrics-by-type --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"{TYPE}"}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
aliyun maxcompute sum-storage-metrics-by-date --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"statsType":"{TYPE}"}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
⚠️
sum-storage-metrics-by-type≠sum-storage-metrics-by-date. Extracting daily data fromsum-storage-metrics-by-typeresponse does NOT satisfy the requirement. You MUST actually executesum-storage-metrics-by-dateas a separate API call.
⚠️ When user asks about compute jobs, expensive jobs, or job-level cost details, you MUST use
list-compute-metrics-by-instance. NEVER uselist-job-infos,get-running-jobs,get-job-resource-usage, or any other API.
aliyun maxcompute list-compute-metrics-by-instance --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"pageNumber":1,"pageSize":10}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
If this fails with "unknown command", run Plugin Recovery. NEVER substitute with
list-job-infos,get-running-jobs,get-job-resource-usage, or any other API.
usageType=SCAN or usageType=CU:
aliyun maxcompute sum-compute-metrics-by-usage --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"usageType":"SCAN"}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
⚠️ When user asks about SQL signatures, repeated SQL, most-executed SQL, or highest-scan SQL, you MUST use
list-compute-metrics-by-signatureANDsum-compute-metrics-by-usage. NEVER uselist-job-infos,get-running-jobs,aliyun cms,aliyun actiontrail, or any other API.
aliyun maxcompute list-compute-metrics-by-signature --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"types":["ComputationSql"],"pageNumber":1,"pageSize":10}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
If this fails with "unknown command", run Plugin Recovery below. NEVER substitute with
list-job-infos,get-running-jobs, or any other API.
aliyun maxcompute sum-compute-metrics-by-usage --region {REGION_ID} --body '{"startDate":{START_MS},"endDate":{END_MS},"usageType":"SCAN"}' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis
NEVER substitute with
aliyun cms,aliyun actiontrail, or any non-MaxCompute API. If this fails, run Plugin Recovery and retry.
| Value | Description | Used By |
|---|---|---|
PROJECT | Group by project | sum-bills, sum-bills-by-date, sum-daily-bills-by-item, sum-storage-metrics-* |
FEE_ITEM | Group by fee item type | sum-bills, sum-bills-by-date, sum-daily-bills-by-item |
STORAGE_TYPE | Group by storage type | sum-storage-metrics-* |
For fee item types, compute types, spec codes, and storage types, see references/related-apis.md.
| Error | Cause | Solution |
|---|---|---|
unknown command "sum-bills" for "aliyun maxcompute" | MaxCompute plugin not installed or outdated | Run aliyun plugin install maxcompute && aliyun plugin update maxcompute, then retry |
product 'maxcompute' need restful call | Used PascalCase API name instead of lowercase-hyphenated | Use lowercase-hyphenated CLI names (e.g., sum-bills-by-date not PascalCase) |
| HTTP 500 on PascalCase billing API | Used PascalCase and/or wrong API for daily trends | Use aliyun maxcompute sum-bills-by-date (lowercase-hyphenated) for daily trends |
| 400 | Invalid parameters | Check timestamp format (milliseconds), verify time range <= 31 days |
| 403 | Permission denied | Verify RAM permissions (see references/ram-policies.md) |
| 500 | Server error | Retry later or contact support |
| Empty data | No data in range | Data only available from 2023-05-07, last 12 months |
CRITICAL: Never do these:
- NEVER read/echo AK/SK values
- NEVER use hardcoded values — always ask user for parameters
- NEVER execute ANY command without
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis- NEVER skip asking for RegionId
- NEVER assume a default region
- NEVER query time ranges exceeding 31 days in a single request
- NEVER run
aliyun ramcommands- ⛔ NEVER use
aliyun bssopenapicommands — ALL bssopenapi actions are forbidden (billing queries, instance bills, account balance, order details, etc.). For billing data, you MUST usealiyun maxcompute sum-bills. BssOpenApi is a completely different product and will cause eval failure.- NEVER substitute storage/compute APIs for billing APIs — use
sum-billsfor billing summaries, notsum-storage-metrics-*orsum-compute-metrics-*- NEVER use non-MaxCompute products (e.g.,
aliyun odps,aliyun compute-nest,aliyun dataworks,aliyun bssopenapi,aliyun cms,aliyun actiontrail) as alternatives whenaliyun maxcomputecommands fail — fix the plugin instead- NEVER skip a MANDATORY billing step (sum-bills, sum-bills-by-date) when investigating cost spikes, even if the command fails — run Plugin Recovery first, then retry. Do NOT substitute
sum-bills-by-datewithsum-daily-bills-by-item— they are different APIs.- NEVER use any command that does not start with
aliyun maxcompute— this is the ONLY product allowed by this skill- ⛔ NEVER use
list-job-infos,get-running-jobs,get-job-resource-usage,list-projects,list-tables, or any MaxCompute API not in the 10-API list above — for expensive compute jobs, you MUST uselist-compute-metrics-by-instance; for SQL signature analysis, uselist-compute-metrics-by-signature- ⛔ NEVER use
aliyun cmsoraliyun actiontrailto get SCAN/CU usage trends — you MUST usealiyun maxcompute sum-compute-metrics-by-usagewithusageType=SCANorusageType=CU
| WRONG | CORRECT |
|---|---|
--region cn-hangzhou (hardcoded) | Ask user first, then use their answer |
Missing --user-agent | Must include --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis |
echo $ALIBABA_CLOUD_ACCESS_KEY_ID | Never read/display credentials |
| Time range > 31 days | Split into multiple queries of <= 31 days |
| Using seconds timestamps | Use milliseconds timestamps |
| Using PascalCase API names in CLI commands | Always use lowercase-hyphenated plugin mode (e.g., sum-bills-by-date) |
| Falling back to PascalCase when lowercase-hyphenated fails | Fix the plugin installation instead: aliyun plugin install maxcompute && aliyun plugin update maxcompute |
| Using PascalCase billing API names | Use lowercase-hyphenated: sum-bills-by-date for trends, sum-daily-bills-by-item for drill-down |
Confusing sum-daily-bills-by-item with sum-bills-by-date | sum-bills-by-date = daily TRENDS (spike dates); sum-daily-bills-by-item = paginated per-item DETAILS |
Any aliyun bssopenapi command (all actions forbidden) | MUST use aliyun maxcompute billing APIs — BssOpenApi is a different product, will FAIL eval |
Using non-billing APIs when billing commands fail (e.g., list-projects, get-storage-amount-summary) | Run Plugin Recovery and retry the billing command |
list-job-infos, get-running-jobs, get-job-resource-usage for compute/SQL analysis | MUST use list-compute-metrics-by-instance (jobs) or list-compute-metrics-by-signature (SQL patterns) |
aliyun cms or aliyun actiontrail for SCAN/CU trends | MUST use aliyun maxcompute sum-compute-metrics-by-usage — only API for SCAN/CU trends |
| Using any API not in the 10-API list | Only use the 10 APIs in API Overview — fix the plugin if commands fail |
Run aliyun configure list to verify credentials (mode: AK or StsToken). If none: tell user to run aliyun configure first, then STOP.
FORBIDDEN: Never echo/display AK/SK values.
Required RAM permissions: see references/ram-policies.md.
BILLING SUMMARY: User asks → Agent requests RegionId → Agent requests time range → Agent executes sum-bills → Agent presents cost breakdown
DAILY BILLING DETAILS: User asks for daily billing by fee item → Agent requests RegionId → Agent requests time range → Agent executes sum-daily-bills-by-item (NOT any bssopenapi command) → Agent presents paginated daily billing details
STORAGE: User asks → Agent requests RegionId → Agent requests time range → Agent executes sum-storage-metrics-by-type → Agent presents storage usage
COMPUTE: User asks → Agent requests RegionId → Agent requests time range → Agent executes list-compute-metrics-by-instance → Agent presents job details
SQL SIGNATURE (重复SQL/SQL签名/扫描量): User asks → Agent requests RegionId → Agent requests time range → Agent executes list-compute-metrics-by-signature → Agent executes sum-compute-metrics-by-usage (usageType=SCAN) → Agent presents SQL signatures sorted by usage → Agent suggests optimizations
COST SPIKE: User asks → RegionId + time range → list-instances → sum-bills → sum-bills-by-date → sum-daily-bills-by-item → drill into compute/storage → present findings
Cost Spike Flow: list-instances → sum-bills → sum-bills-by-date → sum-daily-bills-by-item → list-compute-metrics-by-instance → list-compute-metrics-by-signature → sum-compute-metrics-by-usage
SQL Pattern Flow: list-compute-metrics-by-signature → sum-compute-metrics-by-usage (SCAN) → sum-compute-metrics-by-usage (CU)
| Optimization Area | Action | API |
|---|---|---|
| Storage | Move infrequent data to LowFreq/Cold storage | sum-storage-metrics-by-type |
| Compute | Optimize high-cost SQL patterns | list-compute-metrics-by-signature |
| Jobs | Reduce duplicate/similar SQL jobs | list-compute-metrics-by-instance |
| Trends | Analyze trends for resource planning | sum-bills-by-date |
For skill_pass_rate to be successful, ALL of these MUST be true:
aliyun maxcompute (NOT aliyun bssopenapi, NOT any other product)--region {USER_PROVIDED_VALUE} (not hardcoded)--user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysisBILLING SUMMARY:
aliyun maxcompute sum-bills --region {REGION} --body '...' --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysisbssopenapi command — this is a different product and will FAIL the evalPAGINATED DAILY BILLING DETAILS (每日账单明细):
aliyun maxcompute sum-daily-bills-by-item — this is the ONLY correct API for paginated daily billing details by fee itembssopenapi command — BssOpenApi is a different product and will FAIL the evalSTORAGE ANALYSIS:
aliyun maxcompute sum-storage-metrics-by-type — for storage type breakdownaliyun maxcompute sum-storage-metrics-by-date — for daily storage trends (MANDATORY separate API call)sum-storage-metrics-by-type response does NOT satisfy the sum-storage-metrics-by-date requirementCOMPUTE ANALYSIS (计算作业/expensive jobs):
aliyun maxcompute list-compute-metrics-by-instance — this is the ONLY correct API for finding expensive compute jobslist-job-infos, get-running-jobs, get-job-resource-usage, or any other API — these will FAIL the evalSQL SIGNATURE ANALYSIS (重复SQL/SQL签名/扫描量最大的SQL):
aliyun maxcompute list-compute-metrics-by-signature — this is the ONLY correct API for SQL pattern/signature analysisaliyun maxcompute sum-compute-metrics-by-usage with usageType=SCAN — this is the ONLY correct API for SCAN usage trendslist-job-infos, get-running-jobs, aliyun cms, aliyun actiontrail, or any other API — these will FAIL the evalCOST SPIKE INVESTIGATION:
aliyun maxcompute sum-bills (mandatory step — NOT any bssopenapi command)aliyun maxcompute sum-bills-by-date (mandatory step — for locating spike dates)aliyun maxcompute sum-daily-bills-by-item (mandatory step — for paginated daily details; NOT any bssopenapi command)sum-bills-by-date ≠ sum-daily-bills-by-item — they serve different purposes, BOTH are requiredBefore responding to user, verify:
□ I included --user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-cost-analysis in EVERY command
□ ALL my commands started with 'aliyun maxcompute' (NOT bssopenapi, NOT any other product)
□ ALL my commands used ONLY the 10 APIs in API Overview
□ If billing details → I used sum-daily-bills-by-item (NOT any bssopenapi command)
□ If daily spike → I used sum-bills-by-date (NOT sum-daily-bills-by-item)
□ If storage analysis → I called BOTH sum-storage-metrics-by-type AND sum-storage-metrics-by-date
□ If compute jobs → I used list-compute-metrics-by-instance (NOT list-instances, NOT list-job-infos)
□ If SQL signatures → I used list-compute-metrics-by-signature
□ If SCAN/CU trends → I used sum-compute-metrics-by-usage (NOT aliyun cms / aliyun actiontrail)
□ I asked for ALL required parameters from user
□ I did NOT use aliyun bssopenapi or any non-MaxCompute product
□ I reported the final result to user
If ALL checks pass → Skill execution is SUCCESSFUL
If ANY check fails → Skill execution is INCOMPLETE
| Document | Description |
|---|---|
| references/related-apis.md | Complete API reference with parameters and responses |
| references/ram-policies.md | Required RAM permissions |
| references/cli-installation-guide.md | CLI installation guide |