Skip to content
HookDeploy
On this page

Custom Responses

Override the HTTP response HookDeploy returns to webhook senders. Set a custom status code, response body, and dynamic variables for testing and mocking.

Overview

By default HookDeploy returns {"request_id":"<uuid>"} with a 200 status to every captured webhook. Custom responses let you override the status code, content type, and body returned to the sender. This is useful for simulating real API behaviour during development, testing retry logic, or satisfying platforms that require a specific response shape.

Plan availability

Custom responses are available on Starter, Team, and Enterprise plans. The Free plan receives the default response only.

Configuring a custom response

Found on the Response tab of any endpoint. Three fields:

  • Status code — searchable dropdown of all standard HTTP codes grouped by class
  • Content typeapplication/json, text/plain, text/html, application/xml
  • Response body — code editor with line numbers and live JSON validation when content type is application/json

Template variables

The response body supports dynamic variables substituted at capture time:

VariableDescription
{{request_id}}UUID of the captured request
{{endpoint_id}}UUID of the endpoint
{{endpoint_slug}}16-character endpoint slug (e.g. k3p9xabc7m2q8r4t)
{{timestamp}}ISO 8601 capture timestamp
{{method}}HTTP method (POST, GET, etc.)
{{source_ip}}Caller’s IP address
{{body_size_bytes}}Size of the captured payload in bytes

Example body using variables:

{
  "received": true,
  "id": "{{request_id}}",
  "endpoint": "{{endpoint_slug}}",
  "captured_at": "{{timestamp}}"
}

JSON validation

When content type is application/json, the editor validates the body in real time and prevents saving invalid JSON.

Resetting to default

The delete/reset button removes the custom response config and restores the default {"request_id":"<uuid>"} behaviour.