---
title: "Connect signed JSON news alerts or a chat webhook"
method: POST
path: "/api/v1/delivery/connect"
---

# Connect signed JSON news alerts or a chat webhook

`POST /api/v1/delivery/connect`

## Request

- Base URL: `https://www.sentrydock.com`
- URL: `https://www.sentrydock.com/api/v1/delivery/connect`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://ijreawnnhfsewublnhlc.supabase.co/auth/v1/oauth/authorize`, token URL `https://ijreawnnhfsewublnhlc.supabase.co/auth/v1/oauth/token`, scopes: `openid`)

Choose or create an authorized recurring monitor first. For platform webhook, save the returned signing_secret securely, verify callback signatures and deduplicate event IDs. Requires a receiving host; OAuth alone does not start an assistant turn. Temporary errors retry; GET /api/v1/delivery exposes current receipts. Guide: https://www.sentrydock.com/help/alerts/webhooks

## Request body

- object
  - `platform` 'webhook' | 'slack' | 'teams' | 'discord', required
  - `webhook_url` string, uri, required: An authorized public HTTPS callback on port 443. Private addresses and redirects are rejected.
  - `monitor_id` string, uuid: One owned recurring monitor. Omit for all owned recurring monitors including future ones. Team permission is checked.
  - `name` string

## Response `200`

Connected channel and signing_secret (shown once for webhook).

## Other responses

- `400`: Invalid or non-public HTTPS destination.
- `402`: plan_required with pricing URL for the human.

---

[API](https://skmtc.dev/sentrydock/apis/sentrydock-agent-api.md) · [All operations](https://skmtc.dev/sentrydock/apis/sentrydock-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sentrydock/apis/sentrydock-agent-api/revisions/d0c24f7f07ff?raw)
