Skip to main content
POST
/
api
/
webhooks
/
{id}
/
health-check
Test Webhook
curl --request POST \
  --url https://app.tuco.ai/api/webhooks/{id}/health-check \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "message": "<string>",
  "statusCode": 123,
  "response": "<string>",
  "error": "<string>",
  "details": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.tuco.ai/llms.txt

Use this file to discover all available pages before exploring further.

Send a real signed test webhook to your endpoint. Use this to verify your endpoint is reachable, responding with 2xx, and correctly validating the X-Tuco-Signature header. The test payload includes data.test: true so your handler can distinguish health checks from real events.

Authentication

Authorization: Bearer tuco_sk_xxxxxxxxxxxxx

Path parameters

id
string
required
Webhook ID.

What gets sent to your endpoint

Tuco sends a real POST to your webhook URL with:
HeaderValue
Content-Typeapplication/json
X-Tuco-SignatureHMAC-SHA256 signature (same as production webhooks)
X-Tuco-EventFirst event type from your subscription
X-Tuco-TimestampCurrent ISO timestamp
Test payload your endpoint receives
{
  "event": "message.sent",
  "timestamp": "2026-04-12T12:00:00.000Z",
  "workspaceId": "org_xxx",
  "data": {
    "test": true,
    "message": "This is a health check test webhook from Tuco AI"
  }
}
The signature is real — computed with your webhook’s secret using the same HMAC-SHA256 algorithm as production webhooks. This means your signature verification code gets tested too.

Response

success
boolean
Whether your endpoint responded with 2xx
message
string
Human-readable result (on success)
statusCode
number
HTTP status code from your endpoint
response
string
Response body from your endpoint
error
string
Error message (on failure)
details
string
Error details (on failure)

Examples

curl -X POST "https://app.tuco.ai/api/webhooks/680a1b2c3d4e5f6789012345/health-check" \
  -H "Authorization: Bearer tuco_sk_xxxxxxxxxxxxx"
{
  "success": true,
  "message": "Health check passed",
  "statusCode": 200,
  "response": "OK"
}
The test has a 10-second timeout. If your endpoint takes longer, it’ll report a timeout failure. Make sure your handler returns 2xx quickly and does heavy processing asynchronously.