SteveSteve

Test webhook reachability

Sends a one-off test request to the supplied `webhookUrl` to check reachability. Unlike real webhook deliveries, this test request is **unsigned**: it does NOT include the `X-Webhook-Signature` HMAC header that production webhook events carry. If your receiver enforces signature verification, it may reject the test request even though genuine signed events would verify correctly. Temporarily allow the unsigned `webhook.test` payload (or skip verification for it) when running this check. The exact request sent to your endpoint: - **Method:** `POST` - **Headers:** `Content-Type: application/json`, `User-Agent: steve-webhook/1.0` (no `X-Webhook-Signature`) - **Body:** `{ "type": "webhook.test", "timestamp": "<ISO 8601 timestamp>" }` - **Timeout:** 5 seconds The check is considered successful only if your endpoint responds with a 2xx status within the timeout; non-2xx responses, timeouts, or connection errors return `success: false`.

POST/api/v1/webhooks/test

Authorization

AuthorizationRequiredBearer <token>

Company-scoped Steve API key. Format: Authorization: Bearer aok_...

In: header

Request Body

application/jsonRequired
webhookUrlRequiredstring

HTTPS URL to receive the unsigned webhook.test probe.

Format: "uri"

Header Parameters

X-Request-Idstring

Optional caller-supplied request identifier. Maximum length is 128 characters.

Maximum length: 128
curl -X POST "https://your-deployment.convex.site/api/v1/webhooks/test" \
  -H "X-Request-Id: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "webhookUrl": "http://example.com"
  }'

Webhook target check result

{
  "success": true,
  "statusCode": 0,
  "error": "string",
  "checkedAt": "2019-08-24T14:15:22Z"
}