---
title: "Stripe webhook (server-to-server, not for agents)"
method: POST
path: "/api/billing/webhook"
tags: ["billing"]
---

# Stripe webhook (server-to-server, not for agents)

`POST /api/billing/webhook`

## Request

- Base URL: `https://cliponit.app`
- URL: `https://cliponit.app/api/billing/webhook`
- Auth: none required

Signed with `Stripe-Signature`. Handles `checkout.session.completed`, `customer.subscription.*`, `invoice.paid`.

## Request body

- object

## Response `200`

Acknowledged

- object
  - `received` boolean

## Other responses

- `400`: Validation error — the message names the field, e.g. `champ subtitles.size invalide : attendu 1..3`

---

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