Skip to content

Signature verification API

HookNexus can verify common webhook HMAC signatures so you can validate payloads in one place.

Endpoint: POST https://api.hooknexus.com/api/verify-signature

  • Authentication: not required (public utility).
  • Content-Type: application/json

Request body

FieldTypeRequiredDescription
providerstringYesOne of: github, stripe, shopify, slack
payloadstringYesRaw request body as a string (use the exact bytes the provider signed)
signaturestringYesValue from the provider’s signature header (see per-provider below)
secretstringYesSigning secret (HMAC key) from the provider dashboard
timestampstringNoFor Slack, pass X-Slack-Request-Timestamp when verifying v1 signatures

Response (200 OK)

{
"valid": true,
"expected": "...",
"actual": "...",
"details": "optional diagnostic text"
}

On verification errors, the handler may still return 200 with valid: false and details explaining the failure.


Providers

Header: X-Hub-Signature-256
Format: sha256=<hex_digest>

Terminal window
curl -X POST https://api.hooknexus.com/api/verify-signature \
-H "Content-Type: application/json" \
-d '{
"provider": "github",
"payload": "{\"action\":\"opened\"}",
"signature": "sha256=abcdef...",
"secret": "your_webhook_secret"
}'

Use the raw JSON body exactly as received (no re-formatting).