---
title: "Create Partner Webhook Subscription"
method: POST
path: "/partner/webhooks/subscriptions"
tags: ["Partner Webhooks"]
---

# Create Partner Webhook Subscription

`POST /partner/webhooks/subscriptions`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/partner/webhooks/subscriptions`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/partner/webhooks/subscriptions/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a partner webhook subscription and returns it along with the signing secret. The secret is returned only once, so store it now to verify delivery signatures.

## Request body

- CreateWebhookSubscriptionRequest
  - `name` string, required: Label for the subscription, for your own reference. Must not be blank.
  - `url` string, uri, required: HTTPS endpoint Meow POSTs each event to.
  - `event_types` WebhookEventType[], nullable: Event types to deliver. Omit or send `null` to receive every event. An empty list is rejected, since it would match nothing.
  - `payload_mode` 'snapshot' | 'thin'

## Response `200`

Successful Response

- WebhookSubscriptionWithSecretResponse
  - `account_id` string, nullable: Bank account whose events this subscription receives. Null means no account filter. Fixed at creation.
  - `id` string, uuid, required: Unique identifier for the subscription.
  - `name` string, required: Label for the subscription.
  - `url` string, required: Endpoint Meow POSTs each event to.
  - `is_enabled` boolean, required: Whether the subscription is currently receiving deliveries. Meow sets this to `false` after repeated delivery failures, a `410 Gone` response, or an unsafe URL; re-enable it with a PATCH.
  - `event_types` WebhookEventType[], nullable, required: Event types this subscription receives. `null` means every event.
  - `payload_mode` 'snapshot' | 'thin', required
  - `created_time` string, date-time, required: When the subscription was created.
  - `updated_time` string, date-time, required: When the subscription was last modified.
  - `secret` string, password, required: Signing secret for verifying delivery signatures. Returned only when the subscription is created and when you rotate the secret — Meow cannot show it again, so store it now.

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation.
- `429`: Too many requests.

---

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