---
title: "Create Subscription"
method: POST
path: "/v2/datasets/odyssey/webhooks/subscriptions"
tags: ["odyssey"]
---

# Create Subscription

`POST /v2/datasets/odyssey/webhooks/subscriptions`

## Request

- Base URL: `https://api.captain.dev`
- URL: `https://api.captain.dev/v2/datasets/odyssey/webhooks/subscriptions`
- Auth: none declared

Register a watchlist webhook (RESTful alias of /subscribe).

## Request body

- SubscribeRequest
  - `callback_url` string, required: HTTPS URL to POST watchlist.match events to
  - `feeds` string[], nullable: subset of ['events','publications']; default both
  - `secret` string, nullable: HMAC-SHA256 signing secret (write-only; never echoed back)
  - `watchlist_domains` string[], required: domains to watch, e.g. ['stripe.com']

## Response `200`

Successful Response

- WebhookSubscribeResponse
  - `id` string, required
  - `callback_url` string, required
  - `watchlist_count` integer, required
  - `feeds` string[], required
  - `status` string, required
  - `created_at` string, date-time, required

## Changes

- **2026-09-12** `d07ce3783494`: 1 info
  - api operation id `create-subscription` removed and replaced with `odyssey_createSubscription`

[Operation history](https://skmtc.dev/runcaptain/apis/runcaptain/changes/v2/datasets/odyssey/webhooks/subscriptions/post.md)

---

[API](https://skmtc.dev/runcaptain/apis/runcaptain.md) - [All operations](https://skmtc.dev/runcaptain/apis/runcaptain/llms.txt) - [OpenAPI document](https://skmtc.dev/runcaptain/apis/runcaptain/revisions/ac61e472bb7d?raw)
