Orq.ai Notifiers API

Notifier destinations used to send delivery and workflow notifications.

Operations 5

GET /v2/notifiers List notifiers #
POST /v2/notifiers Create a notifier #
GET /v2/notifiers/{notifier_id} Retrieve a notifier #
DELETE /v2/notifiers/{notifier_id} Delete a notifier #
PATCH /v2/notifiers/{notifier_id} Update a notifier #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/orq:orq-notifiers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

orq-notifiers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: orq.ai Notifiers API
  version: '2.0'
  description: orq.ai API documentation
servers:
- url: https://my.orq.ai
security:
- ApiKey: []
tags:
- name: Notifiers
  description: Notifier destinations used to send delivery and workflow notifications.
paths:
  /v2/notifiers:
    get:
      tags:
      - Notifiers
      summary: List notifiers
      description: Returns notifier destinations visible to the caller, ordered by creation time with the newest notifier first.
      operationId: NotifierList
      parameters:
      - name: limit
        in: query
        description: Optional. Number of notifiers to return. Defaults to 25 and must be between 1 and 200.
        schema:
          type: integer
          format: int32
      - name: starting_after
        in: query
        description: Cursor for forward pagination. Set to the `_id` of the last item from the previous page.
        schema:
          type: string
      - name: ending_before
        in: query
        description: Cursor for backward pagination. Set to the `_id` of the first item from the previous page.
        schema:
          type: string
      - name: project_id
        in: query
        description: Restrict results to one project. Must be a project the caller is authorized for.
        schema:
          type: string
      - name: search
        in: query
        description: Optional. Case-insensitive substring match on the notifier name.
        schema:
          type: string
      - name: type
        in: query
        description: Optional. Restrict results to these notifier types.
        schema:
          type: array
          items:
            $ref: '#/components/schemas/NotifierType'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListNotifiersResponse'
        '401':
          description: Authentication required. See https://docs.orq.ai/reference/errors for the error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-speakeasy-group: notifiers
      x-speakeasy-name-override: list
      x-code-samples:
      - lang: curl
        label: Core - List notifiers
        source: "curl --get 'https://my.orq.ai/v2/notifiers' \\\n  --header \"Authorization: Bearer $ORQ_API_KEY\" \\\n  --data-urlencode 'project_id=proj_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \\\n  --data-urlencode 'limit=25'\n"
      - lang: python
        label: Python - List notifiers
        source: "import os\nfrom orq_ai_sdk import Orq\n\nclient = Orq(api_key=os.environ[\"ORQ_API_KEY\"])\n\npage = client.notifiers.list(\n    project_id=\"proj_01HZXW2K7Y8Q9M0N1P2R3S4T5V\",\n    limit=25,\n)\n\nfor notifier in page.data:\n    print(notifier._id, notifier.display_name)\n"
      - lang: typescript
        label: Node.js - List notifiers
        source: "import { Orq } from '@orq-ai/node';\n\nconst client = new Orq({\n  apiKey: process.env.ORQ_API_KEY,\n});\n\nconst page = await client.notifiers.list({\n  projectId: 'proj_01HZXW2K7Y8Q9M0N1P2R3S4T5V',\n  limit: 25,\n});\n\nfor (const notifier of page.data) {\n  console.log(notifier._id, notifier.displayName);\n}\n"
    post:
      tags:
      - Notifiers
      summary: Create a notifier
      description: Creates a notifier destination in a project. Choose `NOTIFIER_TYPE_EMAIL`, `NOTIFIER_TYPE_SLACK_WEBHOOK`, or `NOTIFIER_TYPE_WEBHOOK` and provide the matching destination fields.
      operationId: NotifierCreate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNotifierRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateNotifierResponse'
        '401':
          description: Authentication required. See https://docs.orq.ai/reference/errors for the error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-speakeasy-group: notifiers
      x-speakeasy-name-override: create
      x-code-samples:
      - lang: curl
        label: Core - Create email notifier
        source: "curl --request POST \\\n  --url 'https://my.orq.ai/v2/notifiers' \\\n  --header \"Authorization: Bearer $ORQ_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"project_id\": \"proj_01HZXW2K7Y8Q9M0N1P2R3S4T5V\",\n    \"display_name\": \"Production alerts\",\n    \"type\": \"NOTIFIER_TYPE_EMAIL\",\n    \"emails\": [\"ops@example.com\", \"alerts@example.com\"],\n    \"metadata\": {\"environment\": \"production\"}\n  }'\n"
      - lang: python
        label: Python - Create email notifier
        source: "import os\nfrom orq_ai_sdk import Orq\n\nclient = Orq(api_key=os.environ[\"ORQ_API_KEY\"])\n\nresult = client.notifiers.create(\n    project_id=\"proj_01HZXW2K7Y8Q9M0N1P2R3S4T5V\",\n    display_name=\"Production alerts\",\n    type=\"NOTIFIER_TYPE_EMAIL\",\n    emails=[\"ops@example.com\", \"alerts@example.com\"],\n    metadata={\"environment\": \"production\"},\n)\n\nprint(result.notifier._id)\n"
      - lang: typescript
        label: Node.js - Create email notifier
        source: "import { Orq } from '@orq-ai/node';\n\nconst client = new Orq({\n  apiKey: process.env.ORQ_API_KEY,\n});\n\nconst result = await client.notifiers.create({\n  projectId: 'proj_01HZXW2K7Y8Q9M0N1P2R3S4T5V',\n  displayName: 'Production alerts',\n  type: 'NOTIFIER_TYPE_EMAIL',\n  emails: ['ops@example.com', 'alerts@example.com'],\n  metadata: { environment: 'production' },\n});\n\nconsole.log(result.notifier._id);\n"
  /v2/notifiers/{notifier_id}:
    get:
      tags:
      - Notifiers
      summary: Retrieve a notifier
      description: Retrieves an existing notifier by ID.
      operationId: NotifierGet
      parameters:
      - name: notifier_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetNotifierResponse'
        '401':
          description: Authentication required. See https://docs.orq.ai/reference/errors for the error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The resource does not exist. See https://docs.orq.ai/reference/errors for the error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-speakeasy-group: notifiers
      x-speakeasy-name-override: get
      x-code-samples:
      - lang: curl
        label: Core - Retrieve notifier
        source: "curl --request GET \\\n  --url 'https://my.orq.ai/v2/notifiers/notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \\\n  --header \"Authorization: Bearer $ORQ_API_KEY\"\n"
      - lang: python
        label: Python - Retrieve notifier
        source: "import os\nfrom orq_ai_sdk import Orq\n\nclient = Orq(api_key=os.environ[\"ORQ_API_KEY\"])\n\nresult = client.notifiers.get(\n    notifier_id=\"notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V\",\n)\n\nprint(result.notifier.display_name)\n"
      - lang: typescript
        label: Node.js - Retrieve notifier
        source: "import { Orq } from '@orq-ai/node';\n\nconst client = new Orq({\n  apiKey: process.env.ORQ_API_KEY,\n});\n\nconst result = await client.notifiers.get({\n  notifierId: 'notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V',\n});\n\nconsole.log(result.notifier.displayName);\n"
    delete:
      tags:
      - Notifiers
      summary: Delete a notifier
      description: Deletes an existing notifier by ID.
      operationId: NotifierDelete
      parameters:
      - name: notifier_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteNotifierResponse'
        '401':
          description: Authentication required. See https://docs.orq.ai/reference/errors for the error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-speakeasy-group: notifiers
      x-speakeasy-name-override: delete
      x-code-samples:
      - lang: curl
        label: Core - Delete notifier
        source: "curl --request DELETE \\\n  --url 'https://my.orq.ai/v2/notifiers/notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \\\n  --header \"Authorization: Bearer $ORQ_API_KEY\"\n"
      - lang: python
        label: Python - Delete notifier
        source: "import os\nfrom orq_ai_sdk import Orq\n\nclient = Orq(api_key=os.environ[\"ORQ_API_KEY\"])\n\nclient.notifiers.delete(\n    notifier_id=\"notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V\",\n)\n"
      - lang: typescript
        label: Node.js - Delete notifier
        source: "import { Orq } from '@orq-ai/node';\n\nconst client = new Orq({\n  apiKey: process.env.ORQ_API_KEY,\n});\n\nawait client.notifiers.delete({\n  notifierId: 'notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V',\n});\n"
    patch:
      tags:
      - Notifiers
      summary: Update a notifier
      description: Partially updates an existing notifier. When changing `type`, provide the destination fields required by the new notifier type.
      operationId: NotifierUpdate
      parameters:
      - name: notifier_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateNotifierRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateNotifierResponse'
        '401':
          description: Authentication required. See https://docs.orq.ai/reference/errors for the error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-speakeasy-group: notifiers
      x-speakeasy-name-override: update
      x-code-samples:
      - lang: curl
        label: Core - Update notifier
        source: "curl --request PATCH \\\n  --url 'https://my.orq.ai/v2/notifiers/notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \\\n  --header \"Authorization: Bearer $ORQ_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"display_name\": \"Production incident alerts\",\n    \"emails\": [\"incidents@example.com\"]\n  }'\n"
      - lang: python
        label: Python - Update notifier
        source: "import os\nfrom orq_ai_sdk import Orq\n\nclient = Orq(api_key=os.environ[\"ORQ_API_KEY\"])\n\nresult = client.notifiers.update(\n    notifier_id=\"notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V\",\n    display_name=\"Production incident alerts\",\n    emails=[\"incidents@example.com\"],\n)\n\nprint(result.notifier.display_name)\n"
      - lang: typescript
        label: Node.js - Update notifier
        source: "import { Orq } from '@orq-ai/node';\n\nconst client = new Orq({\n  apiKey: process.env.ORQ_API_KEY,\n});\n\nconst result = await client.notifiers.update({\n  notifierId: 'notifier_01HZXW2K7Y8Q9M0N1P2R3S4T5V',\n  displayName: 'Production incident alerts',\n  emails: ['incidents@example.com'],\n});\n\nconsole.log(result.notifier.displayName);\n"
components:
  schemas:
    DeleteNotifierResponse:
      type: object
      properties: {}
    NotifierType:
      type: string
      enum:
      - NOTIFIER_TYPE_EMAIL
      - NOTIFIER_TYPE_SLACK_WEBHOOK
      - NOTIFIER_TYPE_WEBHOOK
    Notifier:
      required:
      - _id
      - display_name
      - created_at
      - updated_at
      - type
      type: object
      properties:
        _id:
          type: string
          description: Unique notifier identifier assigned by ORQ.
        project_id:
          type: string
          description: Project that contains the notifier. Empty for workspace-wide notifiers.
        display_name:
          type: string
          description: Human-readable notifier name.
        created_at:
          type: string
          description: Time when the notifier was created.
          format: date-time
        updated_at:
          type: string
          description: Time when the notifier was last updated.
          format: date-time
        created_by_id:
          type: string
          description: User ID that created the notifier.
        updated_by_id:
          type: string
          description: User ID that last updated the notifier.
        metadata:
          type: object
          description: Custom JSON metadata stored with the notifier.
        type:
          description: Notifier destination type. Use `NOTIFIER_TYPE_EMAIL`, `NOTIFIER_TYPE_SLACK_WEBHOOK`, or `NOTIFIER_TYPE_WEBHOOK`.
          $ref: '#/components/schemas/NotifierType'
        emails:
          type: array
          items:
            type: string
          description: Email addresses notified when `type` is `NOTIFIER_TYPE_EMAIL`.
        incoming_webhook_url:
          type: string
          description: Slack incoming webhook URL used when `type` is `NOTIFIER_TYPE_SLACK_WEBHOOK`.
        webhook_url:
          type: string
          description: Generic webhook URL used when `type` is `NOTIFIER_TYPE_WEBHOOK`.
        headers:
          type: object
          description: Optional HTTP headers for generic webhooks. Each entry may be a string value or an object with `secret` and `value`.
      description: Notifier resource. The destination field present on the resource depends on `type` and is captured in `oneOf`.
      oneOf:
      - title: Email notifier
        type: object
        description: '`emails` is present for email notifiers.'
        required:
        - type
        - emails
        properties:
          type:
            type: string
            enum:
            - NOTIFIER_TYPE_EMAIL
          emails:
            type: array
            items:
              type: string
            description: Email addresses notified when `type` is `NOTIFIER_TYPE_EMAIL`.
      - title: Slack webhook notifier
        type: object
        description: '`incoming_webhook_url` is present for Slack webhook notifiers.'
        required:
        - type
        - incoming_webhook_url
        properties:
          type:
            type: string
            enum:
            - NOTIFIER_TYPE_SLACK_WEBHOOK
          incoming_webhook_url:
            type: string
            description: Slack incoming webhook URL used when `type` is `NOTIFIER_TYPE_SLACK_WEBHOOK`.
      - title: Generic webhook notifier
        type: object
        description: '`webhook_url` is present for generic webhook notifiers; `headers` is optional.'
        required:
        - type
        - webhook_url
        properties:
          type:
            type: string
            enum:
            - NOTIFIER_TYPE_WEBHOOK
          webhook_url:
            type: string
            description: Generic webhook URL used when `type` is `NOTIFIER_TYPE_WEBHOOK`.
    UpdateNotifierRequest:
      required: []
      type: object
      properties:
        project_id:
          type: string
          description: Optional. New containing project. Workspace-scoped callers may set an empty value to make the notifier workspace-wide. Project-scoped API keys remain pinned to the API key's project.
        display_name:
          type: string
          description: Optional. New human-readable notifier name.
        metadata:
          type: object
          description: Optional. Replacement custom JSON metadata.
        type:
          description: Optional. New destination type. When provided, also provide the destination field required by the new type.
          $ref: '#/components/schemas/NotifierType'
        emails:
          type: array
          items:
            type: string
          description: Optional replacement email recipients. Required when changing `type` to `NOTIFIER_TYPE_EMAIL`.
        incoming_webhook_url:
          type: string
          description: Optional replacement Slack incoming webhook URL. Required when changing `type` to `NOTIFIER_TYPE_SLACK_WEBHOOK`.
        webhook_url:
          type: string
          description: Optional replacement generic webhook URL. Required when changing `type` to `NOTIFIER_TYPE_WEBHOOK`.
        headers:
          type: object
          description: Optional replacement generic webhook headers. Secret header values returned by GET or LIST are masked as an empty string; omit those entries or replace them with the real value when updating.
      description: Partial notifier update. All request body fields are optional individually, but at least one field must be provided. When changing `type`, include the destination field required by the new type. Secret header values returned by GET or LIST are masked as an empty string; omit those entries or replace them with the real value when updating.
      minProperties: 1
    CreateNotifierRequest:
      required:
      - display_name
      - type
      type: object
      properties:
        project_id:
          type: string
          description: Optional. Workspace-scoped callers may set this to create a project-scoped notifier, or omit it for a workspace-wide notifier. Project-scoped API keys create in the API key's project.
        display_name:
          type: string
          description: Required. Human-readable notifier name.
        metadata:
          type: object
          description: Optional. Custom JSON metadata stored with the notifier.
        type:
          description: Required. Destination type. Use `NOTIFIER_TYPE_EMAIL`, `NOTIFIER_TYPE_SLACK_WEBHOOK`, or `NOTIFIER_TYPE_WEBHOOK`.
          $ref: '#/components/schemas/NotifierType'
        emails:
          type: array
          items:
            type: string
          description: Required when `type` is `NOTIFIER_TYPE_EMAIL`. Omit for other notifier types.
        incoming_webhook_url:
          type: string
          description: Required when `type` is `NOTIFIER_TYPE_SLACK_WEBHOOK`. Omit for other notifier types.
        webhook_url:
          type: string
          description: Required when `type` is `NOTIFIER_TYPE_WEBHOOK`. Omit for other notifier types.
        headers:
          type: object
          description: 'Optional generic webhook headers. Each value may be a string or `{ "secret": true, "value": "..." }`.'
      description: Create notifier request. `project_id`, `display_name`, and `type` are always required. The destination field required by `type` is captured in `oneOf`.
      oneOf:
      - title: Email notifier create request
        type: object
        description: '`emails` is required when `type` is `NOTIFIER_TYPE_EMAIL`.'
        required:
        - type
        - emails
        properties:
          type:
            type: string
            enum:
            - NOTIFIER_TYPE_EMAIL
          emails:
            type: array
            items:
              type: string
            description: Required when `type` is `NOTIFIER_TYPE_EMAIL`. Omit for other notifier types.
      - title: Slack webhook notifier create request
        type: object
        description: '`incoming_webhook_url` is required when `type` is `NOTIFIER_TYPE_SLACK_WEBHOOK`.'
        required:
        - type
        - incoming_webhook_url
        properties:
          type:
            type: string
            enum:
            - NOTIFIER_TYPE_SLACK_WEBHOOK
          incoming_webhook_url:
            type: string
            description: Required when `type` is `NOTIFIER_TYPE_SLACK_WEBHOOK`. Omit for other notifier types.
      - title: Generic webhook notifier create request
        type: object
        description: '`webhook_url` is required when `type` is `NOTIFIER_TYPE_WEBHOOK`; `headers` is optional.'
        required:
        - type
        - webhook_url
        properties:
          type:
            type: string
            enum:
            - NOTIFIER_TYPE_WEBHOOK
          webhook_url:
            type: string
            description: Required when `type` is `NOTIFIER_TYPE_WEBHOOK`. Omit for other notifier types.
    CreateNotifierResponse:
      required:
      - notifier
      type: object
      properties:
        notifier:
          $ref: '#/components/schemas/Notifier'
    ListNotifiersResponse:
      required:
      - object
      - data
      - has_more
      type: object
      properties:
        object:
          type: string
          description: Object discriminator for list responses; always `list`.
        data:
          type: array
          items:
            $ref: '#/components/schemas/Notifier'
          description: Page of notifiers.
        has_more:
          type: boolean
          description: Whether more notifiers are available in the selected pagination direction.
    UpdateNotifierResponse:
      required:
      - notifier
      type: object
      properties:
        notifier:
          $ref: '#/components/schemas/Notifier'
    GetNotifierResponse:
      required:
      - notifier
      type: object
      properties:
        notifier:
          $ref: '#/components/schemas/Notifier'
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message.
        code:
          type: integer
          description: gRPC status code, when the service reports one.
        details:
          type: array
          items: {}
          description: Additional error details, when the service reports any.
      required:
      - message
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  url: https://docs.orq.ai
  description: orq.ai Documentation
x-speakeasy-timeout: 600000