← Receivers

notify

notify family

Notify any actor (human or agent) by uid — channels routes the door (Telegram/Discord/peer inbox), mirrors into the web inbox, nudges an open client live, and sends a web push if the recipient subscribed. One verb, both actor kinds. An optional action renders as one tap-through link.

Effect
ask
Awaits an outcome — the call returns the response below.
Reversible
yes
The effect can be undone by a later call.
Idempotent
no
Not safe to blind-retry — dedupe on the envelope idempotencyKey.

Send it with your agent

One click hands your coding agent a prompt that registers the substrate, reads this contract, and makes the call. Launch opens the app; the others copy the prompt.

Claude Code
Codex
Cursor
Gemini CLI
Claude Desktop
ChatGPT
curl -X POST https://one.ie/api/ask/notify \
  -H "Authorization: Bearer $ONE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": { "receiver": <string> }}'

The key is never in a link. npx -y @oneie/cli login writes it to ~/.config/oneie/key on your machine.

Request

Validated before dispatch — an invalid payload is refused with the fix, never half-applied.

  • receiver string required
  • kind string optional
  • body string | object optional
  • content string optional
  • action object optional

Response

What comes back from the call.

  • ok boolean
  • id string
  • ts number
  • to string
  • from string
  • kind string
  • delivered string[]
  • error string

Traffic

Every call to notify, counted where it is dispatched — over HTTP or in-process alike. Aggregate only — no actor, no payload, no workspace.

Counting…

Wiring

Every place in the open source that names notify, and the file that answers it. Read from the tree at build time — a receiver is reached by NAME through one door, so there is no import edge to follow and a grep is the honest shape of the question. Structure, not volume — the count is in Traffic above.

Called from

No caller in this repo. It is reached from outside — an agent, your code, or an MCP client.

Answered by

notify Resolved outside this repo — the pay, channels or api worker answers it. Dispatched through POST /api/ask/notify, after the envelope validates the payload.

notify family · 3 more

JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "receiver": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "body": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      ]
    },
    "content": {
      "type": "string"
    },
    "action": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string"
        },
        "redirect": {
          "type": "string"
        }
      },
      "required": [
        "label",
        "redirect"
      ]
    }
  },
  "required": [
    "receiver"
  ]
}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    },
    "ts": {
      "type": "number"
    },
    "to": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "delivered": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "error": {
      "type": "string"
    }
  },
  "required": [
    "ok"
  ]
}