---
title: "Handle Provider Webhook"
method: POST
path: "/api/v1/providers/{provider}/webhooks"
tags: ["System: Provider Webhooks"]
---

# Handle Provider Webhook

`POST /api/v1/providers/{provider}/webhooks`

Receive an incoming webhook event from a provider.

Body bytes are pre-read by the async ``_read_body`` dependency so that
signature verification has access to the exact bytes signed by the provider.
The route itself is a plain ``def`` so FastAPI runs it in a threadpool,
keeping synchronous DB work off the event loop.

Returns whatever dict the provider's ``dispatch()`` method returns.

## Path parameters

- `provider` string, required

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/openwearables/apis/open-wearables-api.md) · [All operations](https://skmtc.net/openwearables/apis/open-wearables-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openwearables/open-wearables-api/versions/37c1c527cd8f/schema)
