---
title: "GET /notifiers"
method: GET
path: "/notifiers"
tags: ["Monitors"]
---

# GET /notifiers

`GET /notifiers`

## Request

- Base URL: `https://api.axiom.co/v2`
- URL: `https://api.axiom.co/v2/notifiers`
- Auth: OAuth 2
  - Authorization code: `https://accounts.google.com/o/oauth2/v2/auth`
  - Token URL: `https://www.googleapis.com/oauth2/v4/token` scopes: `notifiers|read`
- TypeScript: <https://skmtc.dev/axiom/apis/axiom-public-api/docs/notifiers/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists all notifiers in the organization, sorted by name. Labels are resolved unless `exclude=labels`.

## Query parameters

- `exclude` 'labels'
- `label` string[]
- `labelMatch` 'any' | 'all'

## Response `200`

Notifiers in the organization.

- NotifierWithId[]
  - `createdAt` string, date-time: Timestamp when the notifier was created
  - `createdBy` string: Email or ID of the user who created the notifier
  - `createdByAgent` boolean: true when the MCP server created this notifier
  - `disabled` boolean: Whether repeated delivery failures disabled the notifier. False when a user snoozed it with disabledUntil. Ignored on requests
  - `disabledUntil` string: ISO timestamp until which the notifier is disabled (null if enabled)
  - `lastError` string: The delivery error that disabled the notifier. Empty for email notifiers and when disabled is false. Ignored on requests
  - `name` string, required: Human-readable name for the notifier
  - `properties` NotifierProperties, required: Configuration options for different notification channels. Only one channel should be configured per notifier.
    - `amp` AmpConfig: Amp Orb webhook. The receiving plugin must accept {"text": "<monitor summary>"}.
      - `webhookUrl` string, required: Secret HTTPS URL from the Amp plugin createWebhook registration. Returned encrypted on reads; submit it unchanged to retain it on updates.
    - `chatgptWorkspaceAgent` ChatGPTWorkspaceAgentConfig: Published ChatGPT Workspace Agent API channel. Axiom sends {"input": "<monitor summary>"}.
      - `token` string, required: ChatGPT access token with the Workspace Agents scope
      - `triggerId` string, required: API channel trigger ID beginning with agtch_
    - `claudeCode` ClaudeCodeConfig: Claude Code routine. Axiom sends a fixed text body when the monitor fires.
      - `routineId` string, required: Routine ID from a Claude Code API trigger
      - `token` string, required: Bearer token for the routine
    - `cursor` CursorConfig: Cursor automation webhook. Axiom sends a fixed context body when the monitor fires.
      - `token` string, required: Bearer token for the automation webhook
      - `webhookUrl` string, required: Automation webhook URL from a Cursor automation
    - `customWebhook` CustomNotifierConfig: Configuration for custom webhook notifications with flexible headers and body template. Supports variable substitution in the body template using {{.Variable}} syntax.
      - `body` string, required: Template for the webhook body, supports variable substitution
      - `headers` object: HTTP headers to include in the request
      - `secretHeaders` object: Sensitive HTTP headers (tokens, keys) that should be masked in logs
      - `url` string, required: Custom webhook endpoint URL
    - `discord` DiscordConfig: Configuration for Discord notifications using bot token
      - `discordChannel` string: Discord channel ID to send notifications
      - `discordToken` string: Discord bot token for authentication
      - `messageTemplate` MessageTemplate: Go templates that replace the title and body of the notifier's default message. An empty field keeps the default. Variables include {{.Title}}, {{.Body}}, {{.Name}}, {{.Action}}, {{.Value}}, {{.Threshold}}, {{.Labels}}, {{.Groups}} and {{.MatchedEvent}}. If a template fails when a notification is sent, the default message is sent and the delivery records the error.
        - `body` string: Template for the message body
        - `title` string: Template for the message title
    - `discordWebhook` DiscordWebhookConfig: Configuration for Discord notifications using webhooks
      - `discordWebhookUrl` string: Discord webhook URL
      - `messageTemplate` MessageTemplate: Go templates that replace the title and body of the notifier's default message. An empty field keeps the default. Variables include {{.Title}}, {{.Body}}, {{.Name}}, {{.Action}}, {{.Value}}, {{.Threshold}}, {{.Labels}}, {{.Groups}} and {{.MatchedEvent}}. If a template fails when a notification is sent, the default message is sent and the delivery records the error.
        - `body` string: Template for the message body
        - `title` string: Template for the message title
    - `email` EmailConfig: Configuration for email notifications
      - `emails` string[]: List of email addresses to receive notifications
      - `messageTemplate` MessageTemplate: Go templates that replace the title and body of the notifier's default message. An empty field keeps the default. Variables include {{.Title}}, {{.Body}}, {{.Name}}, {{.Action}}, {{.Value}}, {{.Threshold}}, {{.Labels}}, {{.Groups}} and {{.MatchedEvent}}. If a template fails when a notification is sent, the default message is sent and the delivery records the error.
        - `body` string: Template for the message body
        - `title` string: Template for the message title
    - `jiraServiceManagement` JiraServiceManagementConfig: Configuration for Jira Service Management Ops alerts using an API integration
      - `apiKey` string, required: API key of the Jira Service Management API integration
    - `microsoftTeams` MicrosoftTeamsConfig: Configuration for Microsoft Teams notifications
      - `messageTemplate` MessageTemplate: Go templates that replace the title and body of the notifier's default message. An empty field keeps the default. Variables include {{.Title}}, {{.Body}}, {{.Name}}, {{.Action}}, {{.Value}}, {{.Threshold}}, {{.Labels}}, {{.Groups}} and {{.MatchedEvent}}. If a template fails when a notification is sent, the default message is sent and the delivery records the error.
        - `body` string: Template for the message body
        - `title` string: Template for the message title
      - `microsoftTeamsUrl` string: Microsoft Teams webhook URL
    - `opsgenie` OpsGenieConfig: Configuration for OpsGenie integration
      - `apiKey` string: OpsGenie API key for authentication
      - `isEU` boolean: Whether to use EU region endpoints
    - `pagerduty` PagerDutyConfig: Configuration for PagerDuty integration
      - `routingKey` string: PagerDuty integration key for routing alerts
      - `token` string: PagerDuty API token for additional functionality
    - `slack` SlackConfig: Configuration for Slack notifications using incoming webhooks
      - `messageTemplate` MessageTemplate: Go templates that replace the title and body of the notifier's default message. An empty field keeps the default. Variables include {{.Title}}, {{.Body}}, {{.Name}}, {{.Action}}, {{.Value}}, {{.Threshold}}, {{.Labels}}, {{.Groups}} and {{.MatchedEvent}}. If a template fails when a notification is sent, the default message is sent and the delivery records the error.
        - `body` string: Template for the message body
        - `title` string: Template for the message title
      - `slackUrl` string: Slack incoming webhook URL
    - `webhook` WebhookConfig: Configuration for simple webhook notifications
      - `url` string: Webhook endpoint URL
  - `updatedAt` string, date-time: Timestamp when the notifier was last updated
  - `id` string: Unique identifier for the notifier
  - `labelIds` LabelID[], required: IDs of labels assigned to this notifier.
  - `labelNames` string[], required: Names of assigned labels, including with exclude=labels; [] when unassigned.
  - `labels` Label[]: Resolved labels assigned to this notifier.
    - `color` LabelColor, required
      - `name` 'red' | 'coral' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' | 'teal' | 'blue' | 'iris' | 'purple' | 'pink', required
      - `type` 'palette', required
    - `description` string, nullable
    - `id` string, required
    - `name` string, required

## Other responses

- `400`: Bad request

## Changes

- **2026-11-02** (v2) `e3baf3b85e8d`: 15 info
  - added the new optional `query` request parameter `label`
  - added the new optional `query` request parameter `labelMatch`
  - added the non-success response with the status `400`
  - added the optional property `items/allOf[#/components/schemas/Notifier]/createdByAgent` to the response with the `200` status
  - …11 more
- **2026-10-14** (v2) `8920e1697284`: 1 breaking, 5 info
  - the `items/allOf[subschema #2]/` response's property type changed from no type to `object` for status `200`
  - added the new optional `query` request parameter `exclude`
  - added the optional property `items/allOf[#/components/schemas/Notifier]/properties/claudeCode` to the response with the `200` status
  - added the optional property `items/allOf[#/components/schemas/Notifier]/properties/cursor` to the response with the `200` status
  - …2 more

[Operation history](https://skmtc.dev/axiom/apis/axiom-public-api/changes/notifiers/get.md)

---

[API](https://skmtc.dev/axiom/apis/axiom-public-api.md) - [All operations](https://skmtc.dev/axiom/apis/axiom-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/axiom/apis/axiom-public-api/revisions/7e39a295e3ba?raw)
