---
title: "Stripe Webhook"
method: POST
path: "/stripe_webhook"
---

# Stripe Webhook

`POST /stripe_webhook`

## Request

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

Webhook for Stripe events on hand-off invoices and patient payment links.

The body is read raw so an unparseable payload can be answered with a 200
rather than a validation error: Stripe retries non-2xx deliveries for days,
and a body we can't parse now won't parse on a retry either. The raw bytes
are also what the signature covers.

An unsigned or badly signed delivery is rejected with a 401 before it is
parsed.

## Headers

- `Stripe-Signature` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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