virtual_dimension_overlap_matrix
Calculate shared cost between pairs of ordered virtual-dimension rules. Use to inspect which rules match the same spend and how earlier rules affect later rules. Reads draft or published rules without creating a draft. virtualDimensionId in inputs equals id from list/get/search. When includeDraft is true (default), operates on the latest pending draft if one exists (draftPersisted: true); otherwise analyzes published rules in memory without creating a draft (draftPersisted: false — not publishable). Set includeDraft false to force published order regardless. Trailing 30 days when from/to are omitted (optional from/to override the window). Returns overlaps for all named rules (excludes leftover). position (from get) and ruleIndex (here) refer to the same 0-based ordinal; ordered rules are [...rules, leftover] with leftover at index rules.length (excluded from this matrix). Returns overlaps[{ ruleId, ruleTargetId, ruleIndex, ruleTargetIndex, overlapCost }] where ruleTargetIndex <= ruleIndex. Diagonal entries (ruleId = ruleTargetId) are each rule's raw membership cost; off-diagonal entries are shared spend shadowed by the earlier rule. costMetric selects the cost column (default cost); valid ids: cost, effective_cost, list_cost, contracted_cost (also accepts contracted_costs), unblended_cost, net_unblended_cost, amortized_cost, net_amortized_cost.
EXAMPLE: "Show rule overlap for Environment VDIM" → { virtualDimensionId: "<virtualDimensionId from create/list>" }
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"virtualDimensionId": "<virtualDimensionId>",
"context": "<context>"
},
"name": "virtual_dimension_overlap_matrix"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Optional window end (YYYY-MM-DD); must be set together with `from` | |
| from | No | Optional window start (YYYY-MM-DD); must be set together with `to` | |
| slug | No | Organization slug. Omit to auto-detect from your account (fails if you belong to multiple orgs). | |
| context | Yes | A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details. | |
| llm_model | No | The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics. | |
| costMetric | No | Cost column id (default cost). Valid: cost, effective_cost, list_cost, contracted_cost, unblended_cost, net_unblended_cost, amortized_cost, net_amortized_cost (also accepts contracted_costs → contracted_cost). | |
| includeDraft | No | Use latest draft rules when true; published rules when false | |
| conversation_id | No | The conversation_id this server returned earlier in this conversation, unchanged, including after later user messages. Omit it if you have none. Recorded for the server developer's analytics. | |
| virtualDimensionId | Yes | Virtual dimension id (stable public identifier) |