HTTP request metric
What an HTTP request metric sends to your endpoint, and the answer it expects. Roark sends it once per call the metric grades, live or simulated, after the call is analysed.
With no body template, Roark POSTs the payload below. A body template fills {{path}} placeholders from the same payload, for example {{call.properties.cardId}} or {{simulation.variables.newPin}}. A placeholder the call has no value for (a run variable on a live call) skips the request and records the metric as missing data.
Answer with HTTP 200 and {"passed": true | false, "reason": "..."} within 30 seconds. Timeouts, connection failures and 5xx responses are retried twice with the same requestId, so drop a request you have already answered. Any other answer records an error on the metric, never a fail. Redirects are not followed.
Payload
Example payload
{
"call": {
"callDirection": "INBOUND",
"startedAt": "2026-10-26T14:00:02.000Z",
"properties": {
"cardId": "card_123"
}
},
"simulation": {
"variables": {
"cardNumber": "4111111111111111",
"newPin": "4821"
}
}
}Response
The verdict for this call.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.