Skip to content
All guidesWorkflows

Workflows

Find the Failing Field in a Webhook Payload

Search keys and values in a webhook JSON payload, jump between matches, and copy a smaller example - without expanding every branch by hand.

A webhook arrives. Somewhere inside is the status, id, or nested error that explains the failure. Expanding every object by hand is optional - and usually unnecessary.

This workflow uses Pretty Payload’s tree, search, and copy controls to locate the field, confirm the value, and export a smaller example. Search finds text; it does not diagnose your integration or validate an API contract.

Open a fictional payload

Paste into the web demo (or open from the clipboard in the extension):

{
  "event_id": "demo_1042",
  "event": "order.updated",
  "received_at": "2026-09-15T19:45:00-07:00",
  "data": {
    "order_id": "ord_9001",
    "status": "failed",
    "customer": {
      "name": "Example Company",
      "email": "[email protected]"
    },
    "items": [
      { "sku": "DEMO-01", "quantity": 1 },
      { "sku": "DEMO-02", "quantity": 3 }
    ],
    "error": {
      "code": "PAYMENT_DECLINED",
      "message": "Card issuer declined sample_token_not_real",
      "retryable": false
    }
  },
  "debug_note": "Sample data only"
}

You already know the interesting region is under data.error - the exercise is finding it quickly when the real payload is larger.

Orient using the tree

Collapse branches you do not need. Expand data, then error. The collapsible tree turns a single-line webhook body into something you can scan. More on nested envelopes: nested JSON viewer.

Search a key and a value

Use the search box labeled Search keys and values… (placeholder notes that Enter jumps to the next match).

Try these verified queries on the sample:

Query What you should hit
PAYMENT_DECLINED error.code value
failed data.status
ord_9001 order_id
demo_1042 event_id

Search finds matching keys and values anywhere in the JSON, including nested objects and arrays. Matches highlight in the tree. Press Enter to move to the next hit when several rows match.

When a hit sits inside a collapsed parent, expand that branch so the surrounding fields stay visible. Confirm neighboring context: is retryable false? Which order_id failed? That context is what you paste into the ticket - not a lone string with no path.

Search locates text. It will not tell you whether the webhook signature was valid, whether your endpoint timed out, or whether the producer violated a schema. Use it to find, then apply your own integration judgment.

Copy a smaller example

Once you have the failing field:

  1. Optionally remove debug_note or unused items with (trim workflow).
  2. Click Copy JSON for a readable snippet, or Copy Minified for a one-liner.
  3. Keep values fictional when the example leaves your machine.

The free local viewer guide covers tree, format, and copy in more detail.

Extension note for recurring webhooks

If you inspect webhook JSON several times a day, the Chrome extension can open JSON from the clipboard or use Search Page on the current tab. Page scanning has browser restrictions and may ask you to choose among results - it is a helper, not a guarantee that every page exposes its payloads the same way.

Compare workflows in Chrome extension vs paste sites.

The ID is in there somewhere. Scrolling the entire envelope is optional.

Try it

  1. Open prettypayload.com/try/ and paste the sample above.
  2. Search PAYMENT_DECLINED, confirm data.error, then search failed.
  3. Copy JSON for the trimmed mental model you need in the ticket.

For recurring clipboard work, get Pretty Payload for Chrome or start from the homepage.