---
title: "create_webhook"
method: POST
path: "/v1/webhooks"
---

# create_webhook

`POST /v1/webhooks`

## Request

- Base URL: `https://app.agentlinkops.com`
- URL: `https://app.agentlinkops.com/v1/webhooks`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Remaining arguments go in a JSON object body.

## Headers

- `X-Workspace-ID` string

## Request body

- object
  - `projectId` string: project ID from create/list.
  - `url` string, required: Public HTTPS endpoint or destination URL required by this operation.
  - `description` string: Optional human-readable description of this resource.
  - `eventTypes` string[]: Event type filters for this subscription; omitted means all supported types.
  - `feeds` string[]: Independent source or destination event feeds to subscribe to.
  - `deliveryMode` 'events' | 'digest': Choose individual event deliveries or one digest per configured window.
  - `digestFrequency` 'daily' | 'weekly': Digest window frequency; applicable only when deliveryMode is digest.
  - `digestHourUtc` integer: UTC hour from 0 to 23 when the digest window closes.

## Response `201`

Remaining arguments go in a JSON object body.

- object
  - `id` string, required: Resource identifier returned by the operation.
  - `workspace_id` string, required: Workspace that owns this record.
  - `project_id` string, nullable, required: Project that owns this record.
  - `url` string, required
  - `description` string, required
  - `state` string, required: Saved lifecycle or evidence state, as enumerated for this record.
  - `active_secret_count` number, required
  - `event_types` string[], nullable, required
  - `feeds` string[], required
  - `delivery_mode` string, required
  - `digest_frequency` string, nullable, required
  - `digest_hour_utc` number, nullable, required
  - `digest_last_sent_at` string, nullable, required
  - `consecutive_failures` number, required
  - `disabled_at` string, nullable, required
  - `disabled_reason` string, nullable, required
  - `created_at` string, required: UTC timestamp when the record was created.
  - `updated_at` string, required: UTC timestamp of the last record update.
  - `secret` string: Webhook signing secret returned only when created or rotated. Store it securely.

## Other responses

- `429`: Request-rate or usage refusal. Inspect error.code and recovery details before retrying.
- `default`: Error envelope. Non-configuration 5xx messages are masked and details omitted; allowlisted configuration errors retain static operator recovery.

---

[API](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api.md) · [All operations](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/revisions/2a712a1dcfa7?raw)
