---
title: "Stripe Webhook"
method: POST
path: "/billing/webhook"
tags: ["billing"]
---

# Stripe Webhook

`POST /billing/webhook`

## Request

- Base URL: `https://api.nicheangle.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nicheangle.com/billing/webhook`
- Auth: none declared

Stripe webhook handler. Verifies signature, parses event, delegates
to stripe_billing.handle_event. Returns 200 on every accepted event
(including no-ops) so Stripe doesn't retry. Returns 400 on signature
failure — Stripe surfaces that in the dashboard.

## Headers

- `Stripe-Signature` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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