POST A KNOCK
Your bot calls one authenticated endpoint with the message and optional decisions.
Send rich Android notifications from any script. Add an image, a link, structured context, and up to three actions. Then poll until the human answers—or the decision expires.
Your bot calls one authenticated endpoint with the message and optional decisions.
Notifee renders arbitrary action labels even when the app process is not running.
Read the state every ten seconds or long-poll for a low-latency response.
curl -X POST 'https://knock.95-216-171-100.sslip.io/v1/notifications' \
-H 'Authorization: Bearer <AGENT_API_KEY>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: telegram-signal-1842' \
-d '{
"title": "BTC LONG SIGNAL",
"body": "Entry 67,420 · Stop 66,800",
"imageUrl": "https://example.com/chart.png",
"linkUrl": "https://trading.example.com/BTCUSDT",
"metadata": { "source": "telegram", "confidence": 0.84 },
"actions": [
{ "id": "buy", "label": "BUY" },
{ "id": "skip", "label": "DON’T BUY", "destructive": true }
],
"timeoutSeconds": 60
}'
curl 'https://knock.95-216-171-100.sslip.io/v1/notifications/<NOTIFICATION_ID>/wait?timeout=25' \
-H 'Authorization: Bearer <AGENT_API_KEY>'
{
"state": "responded",
"response": {
"actionId": "buy",
"respondedAt": "2026-07-26T12:34:56.000Z"
}
}
knock_send_notification sends information with optional images, metadata, and links.
knock_request_decision sends up to three actions with a strict response deadline.
knock_get_response polls or waits up to 25 seconds for a terminal human answer.
Authorization: Bearer <KNOCK_API_KEY>
Content-Type: application/json
MCP endpoint: https://knock.95-216-171-100.sslip.io/mcp
Transport: Streamable HTTP / stateless
Discovery: tools/list
Tools: knock_send_notification · knock_request_decision
knock_get_response · knock_list_devices