verify_webhook
Validate webhook requests from MCP Server Replicate using HMAC-SHA256 to ensure authenticity. Checks payload, signature, and secret for secure integration.
Instructions
Verify that a webhook request came from Replicate using HMAC-SHA256.
Args:
payload: The webhook payload to verify
signature: The signature from the X-Replicate-Signature header
secret: The webhook signing secret from get_webhook_secret
Returns:
True if signature is valid, False otherwise
Input Schema
Name | Required | Description | Default |
---|---|---|---|
payload | Yes | ||
secret | Yes | ||
signature | Yes |
Input Schema (JSON Schema)
{
"$defs": {
"WebhookEvent": {
"description": "A webhook event from Replicate.",
"properties": {
"data": {
"description": "Event-specific data payload",
"title": "Data",
"type": "object"
},
"prediction_id": {
"description": "ID of the prediction that triggered this event",
"title": "Prediction Id",
"type": "string"
},
"timestamp": {
"description": "When this event occurred",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"type": {
"$ref": "#/$defs/WebhookEventType"
}
},
"required": [
"type",
"prediction_id",
"timestamp",
"data"
],
"title": "WebhookEvent",
"type": "object"
},
"WebhookEventType": {
"description": "Types of events that can trigger webhooks.",
"enum": [
"start",
"output",
"logs",
"completed"
],
"title": "WebhookEventType",
"type": "string"
},
"WebhookPayload": {
"description": "The full payload of a webhook request.",
"properties": {
"event": {
"$ref": "#/$defs/WebhookEvent"
},
"prediction": {
"description": "Full prediction object at time of event",
"title": "Prediction",
"type": "object"
}
},
"required": [
"event",
"prediction"
],
"title": "WebhookPayload",
"type": "object"
}
},
"properties": {
"payload": {
"$ref": "#/$defs/WebhookPayload"
},
"secret": {
"title": "Secret",
"type": "string"
},
"signature": {
"title": "Signature",
"type": "string"
}
},
"required": [
"payload",
"signature",
"secret"
],
"title": "verify_webhookArguments",
"type": "object"
}