Creates a monitor. Fields left out take their defaults; cost_type defaults to REAL_COST. For what each cost type measures, see Cost Types. CUSTOM_COST is a cost calculation defined for your organization.
If another monitor in your organization already has the same filter_set, group_by, threshold, and cost_type, the call returns 409 without creating a monitor, and error.existing_id names the existing one. A client that retries after a lost response can use that ID to pick up the monitor its first call created. Paused monitors count as a match and deleted monitors don't. The order of values in filter_set and group_by doesn't matter, and monitor_name, description, and is_enabled aren't compared.
group_by accepts at most one Dimension. Notification channels aren't set here; set them afterward with Update monitor notifications. Field validation failures return 422 with a details list.
CloudZero records the change in the activity log, attributed to "Set via API", after saving it. If that log write fails, the monitor is still created.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||

