> For the complete documentation index, see [llms.txt](https://docs.partssource.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.partssource.com/webhooks/troubleshooting.md).

# Troubleshooting

Symptoms, causes, and fixes for webhook integrations

## Symptoms

| Symptom                                | Likely cause                                                   | Fix                                                                                                                                               |
| -------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Signature never verifies               | Body re-serialized before hashing                              | Verify the raw bytes — see [Verifying Deliveries](/webhooks/verifying-deliveries.md)                                                              |
| Signature verifies intermittently      | Middleware transforms some bodies (encoding, whitespace)       | Move verification before all body middleware                                                                                                      |
| Handler returns 401 for every delivery | Wrong secret, or the secret for a different environment        | Confirm the secret for this endpoint and environment                                                                                              |
| Deliveries time out                    | Processing before responding                                   | Return 2xx first, process asynchronously                                                                                                          |
| No events at all                       | Subscribed event is not in production, or endpoint unreachable | Check the Availability column in the [Event Catalog](https://docs.partssource.com/webhooks-customer/event-catalog); check the deliveries endpoint |
| Duplicates                             | Expected — at-least-once delivery                              | Implement the [deduplication key](/webhooks/quickstart.md)                                                                                        |

## No events arriving — checklist

1. Is the event marked `Production` in the [Event Catalog](https://docs.partssource.com/webhooks-customer/event-catalog)?
2. Is your endpoint reachable and returning 2xx? Check your own logs.
3. What does `GET /v1/webhooks/{webhookId}/deliveries` show (see [Delivery & Retries](https://docs.partssource.com/webhooks-customer/delivery-and-retries)) — attempts with failures, or no attempts at all?
4. If attempts show failures, match the response against the symptoms table above. If there are no attempts at all, contact the integration team with your webhook ID.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.partssource.com/webhooks/troubleshooting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
