Skip to main content
This page is for the engineer who runs the agent. During a test, DeepBlocker posts each attacker message to the address you gave. Your agent answers in the same request. That is the whole contract.

The request we send

The reply we need

Answer with HTTP 2xx and a JSON object.
Extra keys are ignored. Anything else, for example {"text": ...}, a bare string or an empty reply, is refused as a bad reply.

Limits

Check the signature

Each request is signed with the agent’s signing key. The key is 64 hex characters. In the console, open the agent’s Connection tab and press Show signing key. We record who shows it and when; it is never saved in your browser. The signature is over the exact bytes we send:
Compare your result with v1 in constant time. Read the raw body before any JSON parser touches it.
Test the handler with the curl sample before you start a test. If the signature check passes there, it passes for us: the key, the payload and the header are the same.

Where to find the key and the address

Open the agent from the Agents tab and pick Connection. The card shows the channel and the address. The block “How a test talks to your agent” has the Show signing key button.

Problems

Check four things. The key is the one from Show signing key for this agent. The payload uses the path and query, not the full address. There is exactly one line feed between the path and the body. The body is the raw bytes, not re-serialised JSON.
The reply must be a JSON object with a reply string that is not blank. Check the status is 2xx and the content is JSON, not HTML from a proxy.
Your endpoint took longer than 60 seconds. Answer within the request. Do not return early and send the reply later; there is no second call.
Your address answered with a 3xx, often http to https or a missing trailing slash. Give the final address in the console.
See also Troubleshooting.