---
title: "Create Usage Alert Endpoint"
method: POST
path: "/v1/usage-alerts"
tags: ["Usage Alerts"]
---

# Create Usage Alert Endpoint

`POST /v1/usage-alerts`

## Headers

- `X-API-Key` string, required

## Request body

- CreateUsageAlertRequest
  - `name` string, required — Human-readable alert name
  - `alert_type` 'low_remaining_contract_credit_percentage_reached' | 'low_remaining_contract_credit_balance_reached' | 'spend_threshold_reached', required — the native Metronome alert types we expose, as-is, for usage alerts. contracts are credits-only, so we alert on remaining balance: percentage (running-low and exhaustion at 0%) and absolute credit balance. spend is kept for legacy/overage-depth alerts.
  - `threshold` number, required — Threshold in the type's native unit (% , $, or 0 for into-overage)
  - `notification_channels` NotificationChannel[]
    - `type` 'email' | 'slack', required
    - `target` string, required — Email address, or Slack channel id

## Response `200`

Successful Response

- UsageAlertResponse
  - `id` string, uuid, required
  - `name` string, required
  - `metronome_alert_id` string, required
  - `notification_channels` NotificationChannel[], required
    - `type` 'email' | 'slack', required
    - `target` string, required — Email address, or Slack channel id
  - `is_enabled` boolean, required
  - `threshold` number, nullable
  - `alert_type` string, nullable
  - `status` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.net/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbluejay/bluejay-api/revisions/f48cef80963f/schema)
