Skip to main content
POST
Test tool webhook
Send one test request with the same payload contract and HTTP semantics used when the tool runs during a live call. The tool must already be saved and belong to the API key’s company. Required scope: tools:update.

Basic test

With no request body, Yappr generates a <test_name> value for every configured extraction parameter:
The delivery uses the tool’s saved URL, HTTP method, headers, static parameters, include_standard_metadata, and timeout_seconds (default 30 seconds; allowed range 1–60). Configured headers may include authorization and custom content types, but request-routing/framing headers (Host, Content-Length, Transfer-Encoding, Connection, Expect, Keep-Alive, Proxy-*, TE, Trailer, Upgrade) are rejected when the tool is saved. Webhook targets must be final public HTTP(S) endpoints. Localhost, cloud-metadata hosts, non-global literal or DNS-resolved addresses, mixed public/private DNS answers, and redirects are rejected. Configure the final destination URL directly; redirects are not followed.

Supply representative values

Use an optional JSON body when the receiver needs realistic argument or call-context samples:
Unknown top-level, context, or argument names are rejected rather than silently forwarded.

Production parity

When include_standard_metadata is true (the default), payload_sent includes the real company id, the supplied agent context (or null agent fields), call context, configured static parameters, and extraction arguments. With it set to false, only static and extraction parameters are sent.
  • POST, PUT, PATCH, and DELETE tools receive the flat payload as JSON.
  • GET tools receive the same fields as query parameters and no request body. Object and array values are compact JSON strings.
  • Configured request headers are used for delivery but are never echoed in the API response.

Success response

Any downstream HTTP 2xx status returns 200 from this endpoint. Redirects and every other non-2xx status are delivery failures:
payload_sent is the exact flat object delivered. delivery_id can be null if delivery logging failed; logging failure does not turn a successful downstream request into a failure.

Delivery failure

A downstream HTTP or network failure returns 502; a timeout returns 504:
code is one of DOWNSTREAM_HTTP_ERROR, WEBHOOK_NETWORK_ERROR, or WEBHOOK_TIMEOUT. Downstream body previews are sanitized and length-capped.

Errors

Authorizations

Authorization
string
header
required

Your Yappr API key (e.g. ypr_live_...). Generate one in the dashboard under Settings → API Keys.

Path Parameters

id
string<uuid>
required

Body

application/json
agent_id
string<uuid>

Optional company-owned agent used for agent_id and agent_name in standard metadata.

arguments
object

Flat string sample values keyed only by configured extraction-parameter names. Omitted configured names receive <test_name> placeholders.

context
object

Response

Downstream endpoint returned an HTTP 2xx status

success
boolean
required
status_code
integer
required
response_body
string
required

Sanitized, length-capped preview of the downstream response body.

payload_sent
object
required

Exact flat payload delivered to the tool's webhook URL.

delivery_id
string<uuid> | null
required

Webhook-delivery log ID. Null only if logging failed; logging does not change delivery success.