---
title: "Create an alert rule"
method: POST
path: "/api/v1/create_alert_rule"
tags: ["Automation"]
---

# Create an alert rule

`POST /api/v1/create_alert_rule`

## Request

- Base URL: `https://api.pymaia.com`
- URL: `https://api.pymaia.com/api/v1/create_alert_rule`
- Auth: HTTP bearer

Create an alert rule. When the metric breaches the threshold, a notification fires via the configured channels. Scoped to the current org.

## Request body

- object
  - `name` string, required: Short rule name.
  - `description` string: Optional longer description.
  - `platform` 'analytics' | 'competitive' | 'crm' | 'delivery' | 'erp' | 'ga4' | 'google_ads' | 'instagram' | 'klaviyo' | 'linkedin_ads' | 'mercadolibre' | 'meta_ads' | 'omnisend' | 'recharge' | 'resenas' | 'search_console' | 'seo' | 'shopify' | 'tienda' | 'tiktok_ads' | 'tracking' | 'x_ads', required
  - `metric` string, required: Debe ser una de las métricas de esa plataforma; cualquier otra crea una alerta que no puede dispararse nunca. Válidas por plataforma: analytics → attribution_gap, brand_cannibalization, channel_mix_reasignar, channel_mix_shift, checkout_como_entrada, day_of_week_pattern, engagement_imposible, funnel_step_drop, pagespeed_score, referral_de_pasarela, sync_lag_hours, unassigned_high · competitive → format_gap · crm → channel_dormant, lead_sin_contactar · delivery → ads_sin_retorno, comision_alta, sin_liquidacion · erp → low_stock · ga4 → conversions · google_ads → ad_disapproved, anomaly, autopilot_peor_que_manual, entrega_cortada, no_optimized_targeting, roas, spend_pacing, utm_campaign_desactualizado, utm_missing, waste_absolute · instagram → facebook_emparejado · klaviyo → best_subject_line_replicate, contenido_ajeno_en_flows, flow_mal_armado, flow_underperforming, imagenes_sin_alt, list_growth_stalled · linkedin_ads → cost_per_conversion, low_ctr, no_conversions, setup_pending · mercadolibre → ads_pausado, buybox_lost, concentracion_de_canal, demanda_sin_capturar, low_stock, negative_margin, paridad_de_condiciones, reputation_at_risk, reputation_drop, tacos, unanswered_questions, visits_no_sales · meta_ads → account_no_funding, ad_disapproved, adset_no_advantage, anomaly, anuncio_nuevo_sin_parametros, audience_overlap_high, compradores_sin_excluir, conversions, cost_per_conversion, cpa_absolute, cpm, entrega_cortada, family_winner_clear, format_gap_video, frequency, high_freq_refresh, learning_limited, pixel_sin_disparar, roas, spend_pacing, top_ad_fatigue_duplicate, utm_campaign_desactualizado, utm_missing, waste_ads, winner_pattern_amplify · recharge → pagos_fallidos · resenas → estrellas_no_visibles · omnisend → abandoned_cart_no_flow, bounce_rate, flow_inactive, open_rate, unsubscribes, vip_segment_unused · search_console → ai_overview_visibility, cannibalization, clicks, errors, paginas_rotas, position · seo → canonical_missing, noindex, schema_broken · shopify → abandoned_carts, aov, inventory_low, orders, refund_rate · tienda → agotado_con_demanda, aov_bundle_opportunity, bestseller_under_promoted, fecha_comercial_cerca, first_buyer_retention_flow, repeat_buyer_rate_low, sin_atribuir_alto, sin_captura_de_contactos · tiktok_ads → setup_pending · tracking → cobertura_ga4_baja, ga4_vs_store_gap · x_ads → setup_pending
  - `condition` 'gt' | 'gte' | 'lt' | 'lte' | '%change_up' | '%change_down', required
  - `threshold` number, required
  - `comparison_period` 'day' | 'week' | 'month': Required for pct_change conditions.
  - `channels` string[]: Default ["dashboard"].

## Response `200`

Tool executed successfully

- object
  - `ok` boolean
  - `result` unknown
  - `duration_ms` number

## Other responses

- `400`: Invalid params or handler error
- `401`: Missing or invalid Bearer token
- `403`: Missing required scope(s) (`denied_scope`), or the tool's module is disabled for the organization (`module_disabled`, with `why`, `fix` and `module`)
- `404`: Tool not found, internal-only, or excluded for OAuth connectors
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/pymaia/apis/pymaia-api.md) · [All operations](https://skmtc.dev/pymaia/apis/pymaia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pymaia/apis/pymaia-api/revisions/705a6973177b?raw)
