---
title: "Create webhook"
method: POST
path: "/v1/webhooks"
tags: ["Webhooks"]
---

# Create webhook

`POST /v1/webhooks`

## Request

- Base URL: `https://api.onegoodarea.com`
- URL: `https://api.onegoodarea.com/v1/webhooks`
- Auth: HTTP bearer

Register a webhook endpoint for event notifications.

## Request body

- object
  - `url` string, uri: Required. HTTPS webhook endpoint URL.
  - `events` string[]: Required. Supported: 'signal.changed' (material moves from a portfolio change check) and 'portfolio.feed' (each change-feed entry after a refresh). Unsupported entries are filtered out and duplicates collapsed.
  - `causes` string[]: Optional. Which changes to receive by why they moved: 'source' (the world or its publisher), 'method' (a methodology release, same period), 'source_and_method' (both). Default ['source'].

## Response `201`

Default Response

- object
  - `id` string, required
  - `url` string, required
  - `events` string[], required
  - `causes` string[], required
  - `secret` string, required
  - `created_at` string, date-time, required

## Other responses

- `400`: Default Response
- `500`: Default Response

---

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