alerts

Create an alert rule

Changed on
post/projects/{project_id}/alert-rules

Request

  • Base URL: https://eu.bisibility.com/api/v1
  • URL: https://eu.bisibility.com/api/v1/projects/{project_id}/alert-rules
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL /api/auth/oauth2/authorize, token URL /api/auth/oauth2/token, scopes: api:write)

Path parameters

project_idstring required

Public project ID; membership and token scope are enforced.

Example:prj_a00000000000000000000000

Headers

Bisibility-API-Version'v1'

API contract version requested by the client. Omit this header to use the current backward-compatible behavior.

Idempotency-Keystring

Optional key that makes a retry of this request return the first response instead of running it again. Replays last 24 hours and are scoped to the credential, method and path.

X-Bisibility-Source'sdk' | 'cli' | 'mcp'

Declares the client that produced the request for usage reporting: sdk, cli or mcp. Optional; any other value counts as api. It never changes authentication or which budget applies (every bearer-authenticated request counts against the API, MCP and SDK budget).

Request body

channelsstring[]

Delivery channels for alert notifications. Slack tenant delivery is available as an API-only preview. Workspace installation and channel management are not yet exposed in the dashboard. Push sends to the iOS devices that project members registered through /me/push-tokens; alerts from scheduled checks arrive as one summary push per rule. Every fired alert also creates an in-app notification, with or without channels.

change_pctnumber nullable
competitor_domainstring nullable
condition_type'threshold' | 'change_pct' | 'ctr_drop' | 'position_drop' | 'downtrend' | 'enters_top_n' | 'exits_top_n' | 'competitor_overtake' | 'serp_feature' | 'url_mismatch' required
drop_positionsinteger nullable
enabledboolean
namestring required
market_idsstring[]
recipient_idsstring[]
serp_featurestring nullable
severity'info' | 'warning' | 'urgent'
target_type'all' | 'keyword' | 'tag'
threshold_positioninteger nullable
top_ninteger nullable
rule_idstring

Compatibility form field; ignored on create.

Response

JSON response

OR
OR
OR

Example response

{
  "target_ids": [
    "kw_a00000000000000000000000"
  ],
  "id": "alr_a00000000000000000000000"
}

Changes

    • breaking

      added the new path request parameter project_id

    • breaking

      request body became required

    • breaking

      the / request property's minLength was increased from 0 to 1

    • breaking

      the / request property's minLength was increased from 0 to 1

    • breaking

      removed subschema #1 subschema #2 from the / request property oneOf list

    • breaking

      removed the success response with the status

    • warning

      the / request property's maxLength was set to 120

    • warning

      the / request property's maxLength was set to 120

    • info

      the endpoint scheme security AppOAuth was added to the API

    • info

      added the new optional header request parameter Idempotency-Key

    • info

      added the new optional request property

    • info

      the request property default value was added

    • info

      the request property default value true was added

    • info

      the request property default value was added

    • info

      the request property default value all was added

    • info

      added the new push enum value to the request property /

    • info

      added subschema #1 subschema #2 to the / request property oneOf list

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      added the success response with the status