Skip to main content
Outcome

Workflow verification incomplete

This receipt shows the requests we made, what the app reported back, and which checks passed or failed. It covers what ran in this sandbox session against the rules we set.

5 / 10

Failing

5Passed3Failed2Not measured
What we did

Each check was set up before the run. This shows what we tried, what came back, and which rule it was checked against.

Scope

This receipt covers the checks in this run only. Passing all checks does not certify the whole app as production-ready.

Test scenarios

01

The daily sweep reads the customer's open invoices and finishes

baseline
Passed

What we probed

The daily sweep reads the customer's open invoices and finishes

How we probed it

Frozen intended probe steps. Recorded requests show what actually ran.

  1. POST /invocations

Expected vs actual

Expected
The daily sweep reads the customer's open invoices and finishes
Actual
expected exactly 1, found 1; stable under 2 repeats (1)

Requests and responses

01GET /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs200
We sent

GET /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs

This request had no body.

Server returned

HTTP 200

{
  "runs": []
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json",
  "content-length": "11"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

02POST /invocations200
We sent

POST /invocations

{
  "action": "start",
  "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
  "input": {
    "stage": "sweep",
    "customers": [
      "[email protected]"
    ],
    "financeChannel": "C0BILLING01",
    "approvers": [
      "U_CONTROLLER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_243352f82fcf4575922b792da8a81865",
    "fs_case": "baseline"
  }
}
Server returned

HTTP 200

{
  "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
  "workflow": "failed-payment-dunning",
  "metadata": {
    "organization": "Acme",
    "company": "Acme Corporation",
    "environment": "unconfigured",
    "owner": "unassigned",
    "department": "unassigned",
    "ownerTeam": "unassigned",
    "oncall": "unassigned",
    "version": "unversioned",
    "sourceCommit": "unrecorded"
  },
  "org": "Finance",
  "team": "billing-ops",
  "phase": "DONE",
  "closed": true,
  "outcome": "ok",
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_243352f82fcf4575922b792da8a81865",
    "fs_case": "baseline"
  },
  "duplicateStarts": 0,
  "agents": [
    {
      "name": "invoice-check",
      "status": "ok",
      "summary": "1 invoice(s), 1 open",
      "durationMs": 1183
    },
    {
      "name": "dunning-plan",
      "status": "ok",
      "summary": "1 step(s) due",
      "durationMs": 0
    }
  ],
  "actions": [
    {
      "id": "gmail.draft_final_notice:b7fb0ca22f",
      "kind": "gmail.draft_notice",
      "provider": "gmail",
      "agent": "dunning-plan",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
        "step": "final_notice",
        "sent": false
      },
      "attempts": 1,
      "ref": "r1286141135367425",
      "appliedAt": "2026-10-22T18:56:16.242Z",
      "reconciled": null
    },
    {
      "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
      "kind": "stripe.record_step",
      "provider": "stripe",
      "agent": "dunning-plan",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
        "step": "final_notice"
      },
      "attempts": 1,
      "ref": "cus_9H4EI7H2QMIJEIHW",
      "detail": {
        "step": "final_notice"
      },
      "appliedAt": "2026-10-22T18:56:16.457Z",
      "reconciled": null
    }
  ],
  "counts": {
    "applied": 2,
    "failed": 0,
    "pendingApproval": 0,
    "skipped": 0,
    "rejected": 0,
    "scheduled": 0,
    "awaitingSignal": 0,
    "compensated": 0
  },
  "wakeAt": null,
  "audit": null,
  "output": {
    "mode": "dunning",
    "invoices": 1,
    "steps": [
      "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
    ],
    "skipped": []
  },
  "events": [
    {
      "at": "2026-10-22T18:56:14.203Z",
      "msg": "started by U_FETCHSANDBOX"
    },
    {
      "at": "2026-10-22T18:56:15.387Z",
      "msg": "agents: invoice-check=ok"
    },
    {
      "at": "2026-10-22T18:56:15.411Z",
      "msg": "planned 2 action(s): 0 need approval"
    },
    {
      "at": "2026-10-22T18:56:16.243Z",
      "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
    },
    {
      "at": "2026-10-22T18:56:16.457Z",
      "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
    },
    {
      "at": "2026-10-22T18:56:16.458Z",
      "msg": "done (ok)"
    }
  ],
  "createdAt": "2026-10-22T18:56:14.203Z",
  "updatedAt": "2026-10-22T18:56:16.458Z",
  "duplicate": false
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]",
  "content-length": "329",
  "content-type": "application/json"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]' \
  --header 'content-type: application/json' \
  --data-raw '{
  "action": "start",
  "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
  "input": {
    "stage": "sweep",
    "customers": [
      "[email protected]"
    ],
    "financeChannel": "C0BILLING01",
    "approvers": [
      "U_CONTROLLER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_243352f82fcf4575922b792da8a81865",
    "fs_case": "baseline"
  }
}'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

03GET /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs200
We sent

GET /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs

This request had no body.

Server returned

HTTP 200

{
  "runs": [
    {
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 1183
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:b7fb0ca22f",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r1286141135367425",
          "appliedAt": "2026-10-22T18:56:16.242Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_9H4EI7H2QMIJEIHW",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:16.457Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:14.203Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:15.387Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:15.411Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:16.243Z",
          "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
        },
        {
          "at": "2026-10-22T18:56:16.457Z",
          "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
        },
        {
          "at": "2026-10-22T18:56:16.458Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:14.203Z",
      "updatedAt": "2026-10-22T18:56:16.458Z"
    }
  ]
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

04POST /invocations200
We sent

POST /invocations

{
  "action": "start",
  "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
  "input": {
    "stage": "sweep",
    "customers": [
      "[email protected]"
    ],
    "financeChannel": "C0BILLING01",
    "approvers": [
      "U_CONTROLLER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_243352f82fcf4575922b792da8a81865",
    "fs_case": "baseline"
  }
}
Server returned

HTTP 200

{
  "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
  "workflow": "failed-payment-dunning",
  "metadata": {
    "organization": "Acme",
    "company": "Acme Corporation",
    "environment": "unconfigured",
    "owner": "unassigned",
    "department": "unassigned",
    "ownerTeam": "unassigned",
    "oncall": "unassigned",
    "version": "unversioned",
    "sourceCommit": "unrecorded"
  },
  "org": "Finance",
  "team": "billing-ops",
  "phase": "DONE",
  "closed": true,
  "outcome": "ok",
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_243352f82fcf4575922b792da8a81865",
    "fs_case": "baseline"
  },
  "duplicateStarts": 1,
  "agents": [
    {
      "name": "invoice-check",
      "status": "ok",
      "summary": "1 invoice(s), 1 open",
      "durationMs": 1183
    },
    {
      "name": "dunning-plan",
      "status": "ok",
      "summary": "1 step(s) due",
      "durationMs": 0
    }
  ],
  "actions": [
    {
      "id": "gmail.draft_final_notice:b7fb0ca22f",
      "kind": "gmail.draft_notice",
      "provider": "gmail",
      "agent": "dunning-plan",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
        "step": "final_notice",
        "sent": false
      },
      "attempts": 1,
      "ref": "r1286141135367425",
      "appliedAt": "2026-10-22T18:56:16.242Z",
      "reconciled": null
    },
    {
      "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
      "kind": "stripe.record_step",
      "provider": "stripe",
      "agent": "dunning-plan",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
        "step": "final_notice"
      },
      "attempts": 1,
      "ref": "cus_9H4EI7H2QMIJEIHW",
      "detail": {
        "step": "final_notice"
      },
      "appliedAt": "2026-10-22T18:56:16.457Z",
      "reconciled": null
    }
  ],
  "counts": {
    "applied": 2,
    "failed": 0,
    "pendingApproval": 0,
    "skipped": 0,
    "rejected": 0,
    "scheduled": 0,
    "awaitingSignal": 0,
    "compensated": 0
  },
  "wakeAt": null,
  "audit": null,
  "output": {
    "mode": "dunning",
    "invoices": 1,
    "steps": [
      "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
    ],
    "skipped": []
  },
  "events": [
    {
      "at": "2026-10-22T18:56:14.203Z",
      "msg": "started by U_FETCHSANDBOX"
    },
    {
      "at": "2026-10-22T18:56:15.387Z",
      "msg": "agents: invoice-check=ok"
    },
    {
      "at": "2026-10-22T18:56:15.411Z",
      "msg": "planned 2 action(s): 0 need approval"
    },
    {
      "at": "2026-10-22T18:56:16.243Z",
      "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
    },
    {
      "at": "2026-10-22T18:56:16.457Z",
      "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
    },
    {
      "at": "2026-10-22T18:56:16.458Z",
      "msg": "done (ok)"
    },
    {
      "at": "2026-10-22T18:56:17.067Z",
      "msg": "duplicate start ignored"
    }
  ],
  "createdAt": "2026-10-22T18:56:14.203Z",
  "updatedAt": "2026-10-22T18:56:17.067Z",
  "duplicate": true
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]",
  "content-length": "329",
  "content-type": "application/json"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]' \
  --header 'content-type: application/json' \
  --data-raw '{
  "action": "start",
  "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
  "input": {
    "stage": "sweep",
    "customers": [
      "[email protected]"
    ],
    "financeChannel": "C0BILLING01",
    "approvers": [
      "U_CONTROLLER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_243352f82fcf4575922b792da8a81865",
    "fs_case": "baseline"
  }
}'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

05GET /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs200
We sent

GET /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs

This request had no body.

Server returned

HTTP 200

{
  "runs": [
    {
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 1183
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:b7fb0ca22f",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r1286141135367425",
          "appliedAt": "2026-10-22T18:56:16.242Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_9H4EI7H2QMIJEIHW",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:16.457Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:14.203Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:15.387Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:15.411Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:16.243Z",
          "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
        },
        {
          "at": "2026-10-22T18:56:16.457Z",
          "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
        },
        {
          "at": "2026-10-22T18:56:16.458Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T18:56:17.067Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:14.203Z",
      "updatedAt": "2026-10-22T18:56:17.067Z"
    }
  ]
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

Evidence
Run
vr_243352f82fcf4575922b792da8a81865
App version (declared)
acme-ops-failed-payment-dunn…
Source receipt
Source receipt ↗
Technical referencebaseline

App version (declared): acme-ops-failed-payment-dunning-1.0.0-4ac41d8

The daily sweep reads the customer's open invoices and finishes

expected exactly 1, found 1; stable under 2 repeats (1)

  • Verification covers the declared HTTP actions and state reads in this run.
  • The app version shown was supplied by the app itself, not independently checked.
  • Passing all checks in this run does not certify the whole app as production-ready.
  • The verifier session does not survive a restart. This says nothing about the durability of the app under test.
  • App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (8)

These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.

stripe · GET /v1/customers · HTTP 200
We sent

GET /v1/customers

No body shown for this read.

Server returned

HTTP 200

{
  "data": [
    {
      "email": "[email protected]",
      "name": "Dana Billing",
      "id": "cus_9H4EI7H2QMIJEIHW",
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 60,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null
    }
  ],
  "has_more": false,
  "object": "list",
  "url": "/v1/customers"
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/198897286c/v1/customers

{
  "host": "fetchsandbox.com",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

stripe · GET /v1/invoices · HTTP 200
We sent

GET /v1/invoices

No body shown for this read.

Server returned

HTTP 200

{
  "data": [
    {
      "object": "invoice",
      "parent": {
        "type": "subscription_details",
        "subscription_details": {
          "subscription": "sub_62DJCPKGKNJT4RRSQH5X568M",
          "metadata": {}
        }
      },
      "customer": "cus_9H4EI7H2QMIJEIHW",
      "currency": "usd",
      "total": 60000,
      "amount_due": 60000,
      "amount_paid": 0,
      "amount_remaining": 60000,
      "status": "open",
      "created": 1792695266,
      "id": "in_6SBPHSM12A00QSSMX9S69ZEM",
      "payments": {
        "object": "list",
        "data": [
          {
            "id": "inpay_DCW2Z8RE00V87VLKO3G0LXJE",
            "object": "invoice_payment",
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "amount_requested": 60000,
            "amount_paid": null,
            "currency": "usd",
            "created": 1792695266,
            "is_default": true,
            "livemode": false,
            "status": "open",
            "status_transitions": {
              "paid_at": null,
              "canceled_at": null
            },
            "payment": {
              "type": "payment_intent",
              "payment_intent": "pi_51EUBMNU08KD65J9DHYTWBEI"
            }
          }
        ],
        "has_more": false,
        "url": "/v1/invoice_payments?invoice=in_6SBPHSM12A00QSSMX9S69ZEM"
      },
      "amount_overpaid": 91,
      "amount_shipping": 57,
      "attempt_count": 19,
      "attempted": true,
      "auto_advance": true,
      "automatic_tax": {
        "disabled_reason": "finalization_requires_location_inputs",
        "enabled": true,
        "provider": "default",
        "status": "complete"
      },
      "collection_method": "charge_automatically",
      "default_tax_rates": [
        {
          "active": true,
          "country": "US",
          "created": 0,
          "display_name": "Item 283",
          "id": "obj_33b6feb3949e4195877e17b13f",
          "inclusive": true,
          "jurisdiction_level": "city",
          "livemode": false,
          "object": "tax_rate",
          "percentage": 107.2205,
          "rate_type": "flat_amount",
          "tax_type": "amusement_tax"
        }
      ],
      "discounts": [
        "sample-value"
      ],
      "issuer": {
        "type": "account"
      },
      "lines": {
        "data": [
          {
            "amount": 92,
            "currency": "USD",
            "discountable": true,
            "discounts": [
              "sample-value"
            ],
            "id": "obj_c3196cda93084567a36d788b0c",
            "livemode": false,
            "metadata": {},
            "object": "line_item",
            "period": {
              "end": 50,
              "start": 11
            },
            "subtotal": 84
          }
        ],
        "has_more": true,
        "object": "list",
        "url": "https://example.com/c9a081a8"
      },
      "livemode": true,
      "payment_settings": {
        "default_mandate": "sample-value",
        "payment_method_options": {
          "acss_debit": {
            "mandate_options": {
              "transaction_type": "business"
            },
            "verification_method": "automatic"
          },
          "bancontact": {
            "preferred_language": "de"
          },
          "card": {
            "installments": {
              "enabled": true
            },
            "request_three_d_secure": "any"
          },
          "customer_balance": {
            "bank_transfer": {
              "eu_bank_transfer": {
                "country": "US"
              },
              "type": "default"
            },
            "funding_type": "bank_transfer"
          },
          "konbini": {},
          "payto": {
            "mandate_options": {
              "amount": 78,
              "amount_type": "fixed",
              "purpose": "dependant_support"
            }
          },
          "sepa_debit": {},
          "us_bank_account": {
            "financial_connections": {
              "filters": {
                "account_subcategories": [
                  "checking"
                ]
              },
              "permissions": [
                "balances"
              ],
              "prefetch": [
                "balances"
              ]
            },
            "verification_method": "automatic"
          }
        },
        "payment_method_types": [
          "ach_credit_transfer"
        ]
      },
      "period_end": 67,
      "period_start": 73,
      "post_payment_credit_notes_amount": 20,
      "pre_payment_credit_notes_amount": 54,
      "starting_balance": 66,
      "status_transitions": {
        "finalized_at": 16,
        "marked_uncollectible_at": 59,
        "paid_at": 27,
        "voided_at": 91
      },
      "subtotal": 40,
      "account_country": null,
      "account_name": null,
      "account_tax_ids": null,
      "application": null,
      "automatically_finalizes_at": null,
      "billing_reason": null,
      "confirmation_secret": "[redacted]",
      "custom_fields": null,
      "customer_account": null,
      "customer_address": null,
      "customer_email": null,
      "customer_name": null,
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": null,
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "description": null,
      "due_date": null,
      "effective_at": null,
      "ending_balance": null,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": null,
      "invoice_pdf": null,
      "last_finalization_error": null,
      "latest_revision": null,
      "metadata": null,
      "next_payment_attempt": null,
      "number": null,
      "on_behalf_of": null,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "statement_descriptor": null,
      "subtotal_excluding_tax": null,
      "test_clock": null,
      "total_discount_amounts": null,
      "total_excluding_tax": null,
      "total_pretax_credit_amounts": null,
      "total_taxes": null,
      "webhooks_delivered_at": null
    }
  ],
  "has_more": false,
  "object": "list",
  "url": "/v1/invoices"
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/198897286c/v1/invoices

{
  "host": "fetchsandbox.com",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

stripe · GET /v1/customers/cus_9H4EI7H2QMIJEIHW · HTTP 200
We sent

GET /v1/customers/cus_9H4EI7H2QMIJEIHW

No body shown for this read.

Server returned

HTTP 200

{
  "address": null,
  "balance": 0,
  "business_name": "Sample Business",
  "cash_balance": null,
  "created": 60,
  "currency": "USD",
  "customer_account": null,
  "default_source": null,
  "delinquent": false,
  "description": null,
  "discount": null,
  "email": "[email protected]",
  "id": "cus_9H4EI7H2QMIJEIHW",
  "individual_name": "Sample Individual",
  "invoice_prefix": null,
  "livemode": false,
  "name": "Dana Billing",
  "object": "customer",
  "phone": "+14155550100",
  "preferred_locales": null,
  "shipping": null,
  "tax_exempt": "exempt",
  "test_clock": null,
  "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW

{
  "host": "fetchsandbox.com",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

stripe · GET /v1/payment_methods · HTTP 200
We sent

GET /v1/payment_methods

No body shown for this read.

Server returned

HTTP 200

{
  "data": [],
  "has_more": false,
  "object": "list",
  "url": "/v1/payment_methods"
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods

{
  "host": "fetchsandbox.com",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

stripe · GET /v1/invoices/in_6SBPHSM12A00QSSMX9S69ZEM · HTTP 200
We sent

GET /v1/invoices/in_6SBPHSM12A00QSSMX9S69ZEM

No body shown for this read.

Server returned

HTTP 200

{
  "account_country": null,
  "account_name": "Sample Account",
  "account_tax_ids": null,
  "amount_due": 60000,
  "amount_overpaid": 35,
  "amount_paid": 0,
  "amount_remaining": 60000,
  "amount_shipping": 14,
  "application": null,
  "attempt_count": 0,
  "attempted": true,
  "auto_advance": true,
  "automatic_tax": {
    "disabled_reason": "finalization_requires_location_inputs",
    "enabled": true,
    "liability": null,
    "provider": "default",
    "status": "complete"
  },
  "automatically_finalizes_at": null,
  "billing_reason": "automatic_pending_invoice_item_invoice",
  "collection_method": "charge_automatically",
  "confirmation_secret": "[redacted]",
  "created": 1792695266,
  "currency": "usd",
  "custom_fields": null,
  "customer": "cus_9H4EI7H2QMIJEIHW",
  "customer_account": null,
  "customer_address": null,
  "customer_email": null,
  "customer_name": "Sample Customer",
  "customer_phone": null,
  "customer_shipping": null,
  "customer_tax_exempt": "exempt",
  "customer_tax_ids": null,
  "default_payment_method": null,
  "default_source": null,
  "default_tax_rates": [
    {
      "active": true,
      "country": "US",
      "created": 79,
      "description": null,
      "display_name": "Item 345",
      "effective_percentage": null,
      "flat_amount": null,
      "id": "obj_095040b2d77b4a189019b13345",
      "inclusive": true,
      "jurisdiction": null,
      "jurisdiction_level": "city",
      "livemode": false,
      "metadata": null,
      "object": "tax_rate",
      "percentage": 339.3676,
      "rate_type": "flat_amount",
      "state": null,
      "tax_type": "amusement_tax"
    }
  ],
  "description": null,
  "discounts": [
    "sample-value"
  ],
  "due_date": null,
  "effective_at": null,
  "ending_balance": null,
  "footer": null,
  "from_invoice": null,
  "hosted_invoice_url": "https://example.com/53e8fd6d",
  "id": "in_6SBPHSM12A00QSSMX9S69ZEM",
  "invoice_pdf": null,
  "issuer": {
    "type": "account"
  },
  "last_finalization_error": null,
  "latest_revision": null,
  "lines": {
    "data": [
      {
        "amount": 87,
        "currency": "USD",
        "description": null,
        "discount_amounts": null,
        "discountable": true,
        "discounts": [
          "sample-value"
        ],
        "id": "obj_79d69aff8e384bcca6af9428b6",
        "invoice": null,
        "livemode": false,
        "metadata": {},
        "object": "line_item",
        "parent": null,
        "period": {
          "end": 95,
          "start": 53
        },
        "pretax_credit_amounts": null,
        "pricing": null,
        "quantity": null,
        "subscription": null,
        "subtotal": 53,
        "taxes": null
      }
    ],
    "has_more": true,
    "object": "list",
    "url": "https://example.com/fd09241e"
  },
  "livemode": false,
  "metadata": null,
  "next_payment_attempt": null,
  "number": null,
  "object": "invoice",
  "on_behalf_of": null,
  "parent": {
    "type": "subscription_details",
    "subscription_details": {
      "subscription": "sub_62DJCPKGKNJT4RRSQH5X568M",
      "metadata": {}
    }
  },
  "payment_settings": {
    "default_mandate": "sample-value",
    "payment_method_options": {
      "acss_debit": {
        "mandate_options": "sample-value",
        "verification_method": "automatic"
      },
      "bancontact": {
        "preferred_language": "de"
      },
      "card": {
        "installments": "sample-value",
        "request_three_d_secure": "any"
      },
      "customer_balance": {
        "bank_transfer": "sample-value",
        "funding_type": "bank_transfer"
      },
      "konbini": {},
      "payto": {
        "mandate_options": "sample-value"
      },
      "sepa_debit": {},
      "us_bank_account": {
        "financial_connections": "sample-value",
        "verification_method": "automatic"
      }
    },
    "payment_method_types": [
      "ach_credit_transfer"
    ]
  },
  "period_end": 36,
  "period_start": 0,
  "post_payment_credit_notes_amount": 37,
  "pre_payment_credit_notes_amount": 5,
  "receipt_number": null,
  "rendering": null,
  "shipping_cost": null,
  "shipping_details": null,
  "starting_balance": 7,
  "statement_descriptor": null,
  "status": "open",
  "status_transitions": {
    "finalized_at": 69,
    "marked_uncollectible_at": 72,
    "paid_at": 20,
    "voided_at": 34
  },
  "subtotal": 8,
  "subtotal_excluding_tax": null,
  "test_clock": null,
  "total": 60000,
  "total_discount_amounts": null,
  "total_excluding_tax": null,
  "total_pretax_credit_amounts": null,
  "total_taxes": null,
  "webhooks_delivered_at": null,
  "payments": {
    "object": "list",
    "data": [
      {
        "id": "inpay_DCW2Z8RE00V87VLKO3G0LXJE",
        "object": "invoice_payment",
        "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
        "amount_requested": 60000,
        "amount_paid": null,
        "currency": "usd",
        "created": 1792695266,
        "is_default": true,
        "livemode": false,
        "status": "open",
        "status_transitions": {
          "paid_at": null,
          "canceled_at": null
        },
        "payment": {
          "type": "payment_intent",
          "payment_intent": "pi_51EUBMNU08KD65J9DHYTWBEI"
        }
      }
    ],
    "has_more": false,
    "url": "/v1/invoice_payments?invoice=in_6SBPHSM12A00QSSMX9S69ZEM"
  }
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_6SBPHSM12A00QSSMX9S69ZEM

{
  "host": "fetchsandbox.com",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_6SBPHSM12A00QSSMX9S69ZEM' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

stripe · GET /v1/customers/cus_9H4EI7H2QMIJEIHW · HTTP 200
We sent

GET /v1/customers/cus_9H4EI7H2QMIJEIHW

No body shown for this read.

Server returned

HTTP 200

{
  "address": null,
  "balance": 0,
  "business_name": "Sample Business",
  "cash_balance": null,
  "created": 60,
  "currency": "USD",
  "customer_account": null,
  "default_source": null,
  "delinquent": false,
  "description": null,
  "discount": null,
  "email": "[email protected]",
  "id": "cus_9H4EI7H2QMIJEIHW",
  "individual_name": "Sample Individual",
  "invoice_prefix": null,
  "livemode": false,
  "name": "Dana Billing",
  "object": "customer",
  "phone": "+14155550100",
  "preferred_locales": null,
  "shipping": null,
  "tax_exempt": "exempt",
  "test_clock": null,
  "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW

{
  "host": "fetchsandbox.com",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

gmail · POST /gmail/v1/users/me/drafts · HTTP 200
We sent

POST /gmail/v1/users/me/drafts

{
  "message": {
    "raw": "RnJvbTogbWUNClRvOiBkdW4tYmFzZWxpbmVAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDxkMmM2ZWEzNzBmZTBiMDVkLmR1bm5pbmctZmluYWxfbm90aWNlLWI3ZmIwY2EyMmZAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fNlNCUEhTTTEyQTAwUVNTTVg5UzY5WkVNIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw"
  }
}
Server returned

HTTP 200

{
  "message": {
    "raw": "RnJvbTogbWUNClRvOiBkdW4tYmFzZWxpbmVAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDxkMmM2ZWEzNzBmZTBiMDVkLmR1bm5pbmctZmluYWxfbm90aWNlLWI3ZmIwY2EyMmZAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fNlNCUEhTTTEyQTAwUVNTTVg5UzY5WkVNIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw",
    "payload": {
      "mimeType": "text/plain",
      "headers": [
        {
          "name": "From",
          "value": "me"
        },
        {
          "name": "To",
          "value": "[email protected]"
        },
        {
          "name": "Subject",
          "value": "Final notice: $600.00 overdue"
        },
        {
          "name": "Message-ID",
          "value": "<d2c6ea370fe0b05d.dunning-final_notice-b7fb0ca22f@ops.acme.example>"
        },
        {
          "name": "MIME-Version",
          "value": "1.0"
        },
        {
          "name": "Content-Type",
          "value": "text/plain; charset=\"UTF-8\""
        },
        {
          "name": "Content-Transfer-Encoding",
          "value": "8bit"
        }
      ],
      "body": {
        "size": 173,
        "data": "SGVsbG8sCgpJbnZvaWNlIGluXzZTQlBIU00xMkEwMFFTU01YOVM2OVpFTSBmb3IgJDYwMC4wMCBpcyBvdmVyZHVlLiBJZiBpdCBzdGF5cyB1bnBhaWQsIHlvdXIgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2FuY2VsbGVkIGFmdGVyIGEgcmV2aWV3IGJ5IG91ciBiaWxsaW5nIHRlYW0uCgpBQ01FIEJpbGxpbmc"
      }
    },
    "sizeEstimate": 439,
    "labelIds": [
      "DRAFT"
    ],
    "id": "1972144355a44809"
  },
  "user_id": "me",
  "id": "r1286141135367425"
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/caf533faa2/gmail/v1/users/me/drafts

{
  "host": "fetchsandbox.com",
  "content-length": "608",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
  "content-type": "application/json; charset=utf-8"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/caf533faa2/gmail/v1/users/me/drafts' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
  --header 'content-type: application/json; charset=utf-8' \
  --data-raw '{
  "message": {
    "raw": "RnJvbTogbWUNClRvOiBkdW4tYmFzZWxpbmVAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDxkMmM2ZWEzNzBmZTBiMDVkLmR1bm5pbmctZmluYWxfbm90aWNlLWI3ZmIwY2EyMmZAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fNlNCUEhTTTEyQTAwUVNTTVg5UzY5WkVNIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw"
  }
}'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

stripe · POST /v1/customers/cus_9H4EI7H2QMIJEIHW · HTTP 200
We sent

POST /v1/customers/cus_9H4EI7H2QMIJEIHW

{
  "metadata": {
    "acme_dunning_in_6SBPHSM12A00QSSMX9S69ZEM": "final_notice"
  }
}
Server returned

HTTP 200

{
  "email": "[email protected]",
  "name": "Dana Billing",
  "id": "cus_9H4EI7H2QMIJEIHW",
  "address": null,
  "balance": 0,
  "business_name": "Sample Business",
  "cash_balance": null,
  "created": 60,
  "currency": "USD",
  "customer_account": null,
  "default_source": null,
  "delinquent": false,
  "description": null,
  "discount": null,
  "individual_name": "Sample Individual",
  "invoice_prefix": null,
  "livemode": false,
  "object": "customer",
  "phone": "+14155550100",
  "preferred_locales": null,
  "shipping": null,
  "tax_exempt": "exempt",
  "test_clock": null,
  "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail",
  "metadata": {
    "acme_dunning_in_6SBPHSM12A00QSSMX9S69ZEM": "final_notice"
  }
}

HTTP status is a response, not the scenario verdict. State shown here is reported by the app.

Technical details
Headers and timing

https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW

{
  "host": "fetchsandbox.com",
  "content-length": "67",
  "user-agent": "node",
  "accept": "application/json",
  "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
  "content-type": "application/x-www-form-urlencoded"
}

Response headers were not saved in this run.

Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data-raw '{
  "metadata": {
    "acme_dunning_in_6SBPHSM12A00QSSMX9S69ZEM": "final_notice"
  }
}'

This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

Run details

Run vr_243352f82fcf4575922b792da8a81865

10 required checks for the declared application workflow. Results apply to the recorded observation windows.

5 passed · 3 failed · 2 not checked

Coverage beyond the declared checks

Passing these checks does not establish every production behavior.

  • Normal successful behavior · Linked checks passed · baseline
  • The right user gets the right access · Proposed as not applicable
  • Valid data and boundary values · Linked checks passed · invalid_input_rejected, unknown_invoice_contacts_nobody
  • Correct amount, currency and quantity · Not checked · second_failure_tries_backup_card
  • Duplicate requests and events · Linked check failed · repeated_failure_no_second_notice
  • Requests arriving together · Proposed as not applicable
  • Out-of-order and stale events · Linked check failed · paid_invoice_contacts_nobody, repeated_failure_no_second_notice
  • Delayed or missing events · Linked check failed · final_notice_after_14_days, cancellation_needs_approval
  • Provider authentication and permissions · Linked checks passed · stripe_auth_failure
  • Rate limits, server failures and timeouts · Linked checks passed · stripe_auth_failure
  • Completed action with a lost response · Proposed as not applicable
  • Partial completion and recovery · Not checked · second_failure_tries_backup_card
  • Restart without losing or duplicating work · Proposed as not applicable
  • Finding and repairing inconsistent state · Proposed as not applicable
  • Cancellation, refunds and access · Linked check failed · cancellation_needs_approval
  • Data ownership and privacy · Proposed as not applicable
  • Test isolation and cleanup · Linked checks passed · baseline

Applicability comes from the proposed plan. Test results come from the recorded execution.

App version: acme-ops-failed-payment-dunning-1.0.0-4ac41d8 (declared)

Measured run: 2026-10-22T18:56:13.778941+00:00 – 2026-10-22T18:56:38.998181+00:00

Recorded execution

Recorded application requests and state reads for the declared HTTP contract.

The timeline below merges all requests from this run, sorted by recorded timestamp.

Recorded requests and deliveries: 88/95 successful · checkpoints: 8/10 recorded

Why checks are unmeasured

  • first_failure_card_update_notice: required observation 'attempt_count' is missing
  • second_failure_tries_backup_card: required observation 'attempt_count' is missing
Sanitized request and event timeline (93 events)
  1. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:14.080024+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  2. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:16.605119+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "329",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 1183
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:b7fb0ca22f",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r1286141135367425",
          "appliedAt": "2026-10-22T18:56:16.242Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_9H4EI7H2QMIJEIHW",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:16.457Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:14.203Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:15.387Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:15.411Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:16.243Z",
          "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
        },
        {
          "at": "2026-10-22T18:56:16.457Z",
          "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
        },
        {
          "at": "2026-10-22T18:56:16.458Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:14.203Z",
      "updatedAt": "2026-10-22T18:56:16.458Z",
      "duplicate": false
    }
  3. · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 339e0d2c96fe · processing 15.55ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 15.55ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "email": "[email protected]",
          "name": "Dana Billing",
          "id": "cus_9H4EI7H2QMIJEIHW",
          "address": null,
          "balance": 0,
          "business_name": "Sample Business",
          "cash_balance": null,
          "created": 60,
          "currency": "USD",
          "customer_account": null,
          "default_source": null,
          "delinquent": false,
          "description": null,
          "discount": null,
          "individual_name": "Sample Individual",
          "invoice_prefix": null,
          "livemode": false,
          "object": "customer",
          "phone": "+14155550100",
          "preferred_locales": null,
          "shipping": null,
          "tax_exempt": "exempt",
          "test_clock": null
        }
      ],
      "has_more": false,
      "object": "list",
      "url": "/v1/customers"
    }
  4. · GET stripe request · provider traffic · /v1/invoices · HTTP 200 · request 64b30a712bf5 · processing 286.03ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 286.03ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "object": "invoice",
          "parent": {
            "type": "subscription_details",
            "subscription_details": {
              "subscription": "sub_62DJCPKGKNJT4RRSQH5X568M",
              "metadata": {}
            }
          },
          "customer": "cus_9H4EI7H2QMIJEIHW",
          "currency": "usd",
          "total": 60000,
          "amount_due": 60000,
          "amount_paid": 0,
          "amount_remaining": 60000,
          "status": "open",
          "created": 1792695266,
          "id": "in_6SBPHSM12A00QSSMX9S69ZEM",
          "payments": {
            "object": "list",
            "data": [
              {
                "id": "inpay_DCW2Z8RE00V87VLKO3G0LXJE",
                "object": "invoice_payment",
                "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
                "amount_requested": 60000,
                "amount_paid": null,
                "currency": "usd",
                "created": 1792695266,
                "is_default": true,
                "livemode": false,
                "status": "open",
                "status_transitions": {
                  "paid_at": null,
                  "canceled_at": null
                },
                "payment": {
                  "type": "payment_intent",
                  "payment_intent": "pi_51EUBMNU08KD65J9DHYTWBEI"
                }
              }
            ],
            "has_more": false,
            "url": "/v1/invoice_payments?invoice=in_6SBPHSM12A00QSSMX9S69ZEM"
          },
          "amount_overpaid": 91,
          "amount_shipping": 57,
          "attempt_count": 19,
          "attempted": true,
          "auto_advance": true,
          "automatic_tax": {
            "disabled_reason": "finalization_requires_location_inputs",
            "enabled": true,
            "provider": "default",
            "status": "complete"
          },
          "collection_method": "charge_automatically",
          "default_tax_rates": [
            {
              "active": true,
              "country": "US",
              "created": 0,
              "display_name": "Item 283",
              "id": "obj_33b6feb3949e4195877e17b13f",
              "inclusive": true,
              "jurisdiction_level": "city",
              "livemode": false,
              "object": "tax_rate",
              "percentage": 107.2205,
              "rate_type": "flat_amount",
              "tax_type": "amusement_tax"
            }
          ],
          "discounts": [
            "sample-value"
          ],
          "issuer": {
            "type": "account"
          },
          "lines": {
            "data": [
              {
                "amount": 92,
                "currency": "USD",
                "discountable": true,
                "discounts": [
                  "sample-value"
                ],
                "id": "obj_c3196cda93084567a36d788b0c",
                "livemode": false,
                "metadata": {},
                "object": "line_item",
                "period": {
                  "end": 50,
                  "start": 11
                },
                "subtotal": 84
              }
            ],
            "has_more": true,
            "object": "list",
            "url": "https://example.com/c9a081a8"
          },
          "livemode": true,
          "payment_settings": {
            "default_mandate": "sample-value",
            "payment_method_options": {
              "acss_debit": {
                "mandate_options": {
                  "transaction_type": "business"
                },
                "verification_method": "automatic"
              },
              "bancontact": {
                "preferred_language": "de"
              },
              "card": {
                "installments": {
                  "enabled": true
                },
                "request_three_d_secure": "any"
              },
              "customer_balance": {
                "bank_transfer": {
                  "eu_bank_transfer": {
                    "country": "US"
                  },
                  "type": "default"
                },
                "funding_type": "bank_transfer"
              },
              "konbini": {},
              "payto": {
                "mandate_options": {
                  "amount": 78,
                  "amount_type": "fixed",
                  "purpose": "dependant_support"
                }
              },
              "sepa_debit": {},
              "us_bank_account": {
                "financial_connections": {
                  "filters": {
                    "account_subcategories": [
                      "checking"
                    ]
                  },
                  "permissions": [
                    "balances"
                  ],
                  "prefetch": [
                    "balances"
                  ]
                },
                "verification_method": "automatic"
              }
            },
            "payment_method_types": [
              "ach_credit_transfer"
            ]
          },
          "period_end": 67,
          "period_start": 73,
          "post_payment_credit_notes_amount": 20,
          "pre_payment_credit_notes_amount": 54,
          "starting_balance": 66,
          "status_transitions": {
            "finalized_at": 16,
            "marked_uncollectible_at": 59,
            "paid_at": 27,
            "voided_at": 91
          },
          "subtotal": 40,
          "account_country": null,
          "account_name": null,
          "account_tax_ids": null,
          "application": null,
          "automatically_finalizes_at": null,
          "billing_reason": null,
          "confirmation_secret": "[redacted]",
          "custom_fields": null,
          "customer_account": null,
          "customer_address": null,
          "customer_email": null,
          "customer_name": null,
          "customer_phone": null,
          "customer_shipping": null,
          "customer_tax_exempt": null,
          "customer_tax_ids": null,
          "default_payment_method": null,
          "default_source": null,
          "description": null,
          "due_date": null,
          "effective_at": null,
          "ending_balance": null,
          "footer": null,
          "from_invoice": null,
          "hosted_invoice_url": null,
          "invoice_pdf": null,
          "last_finalization_error": null,
          "latest_revision": null,
          "metadata": null,
          "next_payment_attempt": null,
          "number": null,
          "on_behalf_of": null,
          "receipt_number": null,
          "rendering": null,
          "shipping_cost": null,
          "shipping_details": null,
          "statement_descriptor": null,
          "subtotal_excluding_tax": null,
          "test_clock": null,
          "total_discount_amounts": null,
          "total_excluding_tax": null,
          "total_pretax_credit_amounts": null,
          "total_taxes": null,
          "webhooks_delivered_at": null
        }
      ],
      "has_more": false,
      "object": "list",
      "url": "/v1/invoices"
    }
  5. · GET stripe request · provider traffic · /v1/customers/cus_9H4EI7H2QMIJEIHW · HTTP 200 · request ac7917cf0087 · processing 18.44ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 18.44ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 60,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_9H4EI7H2QMIJEIHW",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  6. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request e4b42b3b0f07 · processing 2.63ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.63ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  7. · GET stripe request · provider traffic · /v1/invoices/in_6SBPHSM12A00QSSMX9S69ZEM · HTTP 200 · request 1dd3316e522c · processing 222.32ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_6SBPHSM12A00QSSMX9S69ZEM' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 222.32ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 60000,
      "amount_overpaid": 35,
      "amount_paid": 0,
      "amount_remaining": 60000,
      "amount_shipping": 14,
      "application": null,
      "attempt_count": 0,
      "attempted": true,
      "auto_advance": true,
      "automatic_tax": {
        "disabled_reason": "finalization_requires_location_inputs",
        "enabled": true,
        "liability": null,
        "provider": "default",
        "status": "complete"
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695266,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_9H4EI7H2QMIJEIHW",
      "customer_account": null,
      "customer_address": null,
      "customer_email": null,
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [
        {
          "active": true,
          "country": "US",
          "created": 79,
          "description": null,
          "display_name": "Item 345",
          "effective_percentage": null,
          "flat_amount": null,
          "id": "obj_095040b2d77b4a189019b13345",
          "inclusive": true,
          "jurisdiction": null,
          "jurisdiction_level": "city",
          "livemode": false,
          "metadata": null,
          "object": "tax_rate",
          "percentage": 339.3676,
          "rate_type": "flat_amount",
          "state": null,
          "tax_type": "amusement_tax"
        }
      ],
      "description": null,
      "discounts": [
        "sample-value"
      ],
      "due_date": null,
      "effective_at": null,
      "ending_balance": null,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": "https://example.com/53e8fd6d",
      "id": "in_6SBPHSM12A00QSSMX9S69ZEM",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "data": [
          {
            "amount": 87,
            "currency": "USD",
            "description": null,
            "discount_amounts": null,
            "discountable": true,
            "discounts": [
              "sample-value"
            ],
            "id": "obj_79d69aff8e384bcca6af9428b6",
            "invoice": null,
            "livemode": false,
            "metadata": {},
            "object": "line_item",
            "parent": null,
            "period": {
              "end": 95,
              "start": 53
            },
            "pretax_credit_amounts": null,
            "pricing": null,
            "quantity": null,
            "subscription": null,
            "subtotal": 53,
            "taxes": null
          }
        ],
        "has_more": true,
        "object": "list",
        "url": "https://example.com/fd09241e"
      },
      "livemode": false,
      "metadata": null,
      "next_payment_attempt": null,
      "number": null,
      "object": "invoice",
      "on_behalf_of": null,
      "parent": {
        "type": "subscription_details",
        "subscription_details": {
          "subscription": "sub_62DJCPKGKNJT4RRSQH5X568M",
          "metadata": {}
        }
      },
      "payment_settings": {
        "default_mandate": "sample-value",
        "payment_method_options": {
          "acss_debit": {
            "mandate_options": "sample-value",
            "verification_method": "automatic"
          },
          "bancontact": {
            "preferred_language": "de"
          },
          "card": {
            "installments": "sample-value",
            "request_three_d_secure": "any"
          },
          "customer_balance": {
            "bank_transfer": "sample-value",
            "funding_type": "bank_transfer"
          },
          "konbini": {},
          "payto": {
            "mandate_options": "sample-value"
          },
          "sepa_debit": {},
          "us_bank_account": {
            "financial_connections": "sample-value",
            "verification_method": "automatic"
          }
        },
        "payment_method_types": [
          "ach_credit_transfer"
        ]
      },
      "period_end": 36,
      "period_start": 0,
      "post_payment_credit_notes_amount": 37,
      "pre_payment_credit_notes_amount": 5,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 7,
      "statement_descriptor": null,
      "status": "open",
      "status_transitions": {
        "finalized_at": 69,
        "marked_uncollectible_at": 72,
        "paid_at": 20,
        "voided_at": 34
      },
      "subtotal": 8,
      "subtotal_excluding_tax": null,
      "test_clock": null,
      "total": 60000,
      "total_discount_amounts": null,
      "total_excluding_tax": null,
      "total_pretax_credit_amounts": null,
      "total_taxes": null,
      "webhooks_delivered_at": null,
      "payments": {
        "object": "list",
        "data": [
          {
            "id": "inpay_DCW2Z8RE00V87VLKO3G0LXJE",
            "object": "invoice_payment",
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "amount_requested": 60000,
            "amount_paid": null,
            "currency": "usd",
            "created": 1792695266,
            "is_default": true,
            "livemode": false,
            "status": "open",
            "status_transitions": {
              "paid_at": null,
              "canceled_at": null
            },
            "payment": {
              "type": "payment_intent",
              "payment_intent": "pi_51EUBMNU08KD65J9DHYTWBEI"
            }
          }
        ],
        "has_more": false,
        "url": "/v1/invoice_payments?invoice=in_6SBPHSM12A00QSSMX9S69ZEM"
      }
    }
  8. · GET stripe request · provider traffic · /v1/customers/cus_9H4EI7H2QMIJEIHW · HTTP 200 · request 3c39e261e940 · processing 15.26ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 15.26ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 60,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_9H4EI7H2QMIJEIHW",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  9. · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request b9b8e2d13a0f · processing 12.31ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/caf533faa2/gmail/v1/users/me/drafts' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tYmFzZWxpbmVAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDxkMmM2ZWEzNzBmZTBiMDVkLmR1bm5pbmctZmluYWxfbm90aWNlLWI3ZmIwY2EyMmZAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fNlNCUEhTTTEyQTAwUVNTTVg5UzY5WkVNIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 12.31ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "608",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/json; charset=utf-8"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tYmFzZWxpbmVAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDxkMmM2ZWEzNzBmZTBiMDVkLmR1bm5pbmctZmluYWxfbm90aWNlLWI3ZmIwY2EyMmZAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fNlNCUEhTTTEyQTAwUVNTTVg5UzY5WkVNIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw"
      }
    }

    Recorded response · HTTP 200

    {
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tYmFzZWxpbmVAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDxkMmM2ZWEzNzBmZTBiMDVkLmR1bm5pbmctZmluYWxfbm90aWNlLWI3ZmIwY2EyMmZAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fNlNCUEhTTTEyQTAwUVNTTVg5UzY5WkVNIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw",
        "payload": {
          "mimeType": "text/plain",
          "headers": [
            {
              "name": "From",
              "value": "me"
            },
            {
              "name": "To",
              "value": "[email protected]"
            },
            {
              "name": "Subject",
              "value": "Final notice: $600.00 overdue"
            },
            {
              "name": "Message-ID",
              "value": "<d2c6ea370fe0b05d.dunning-final_notice-b7fb0ca22f@ops.acme.example>"
            },
            {
              "name": "MIME-Version",
              "value": "1.0"
            },
            {
              "name": "Content-Type",
              "value": "text/plain; charset=\"UTF-8\""
            },
            {
              "name": "Content-Transfer-Encoding",
              "value": "8bit"
            }
          ],
          "body": {
            "size": 173,
            "data": "SGVsbG8sCgpJbnZvaWNlIGluXzZTQlBIU00xMkEwMFFTU01YOVM2OVpFTSBmb3IgJDYwMC4wMCBpcyBvdmVyZHVlLiBJZiBpdCBzdGF5cyB1bnBhaWQsIHlvdXIgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2FuY2VsbGVkIGFmdGVyIGEgcmV2aWV3IGJ5IG91ciBiaWxsaW5nIHRlYW0uCgpBQ01FIEJpbGxpbmc"
          }
        },
        "sizeEstimate": 439,
        "labelIds": [
          "DRAFT"
        ],
        "id": "1972144355a44809"
      },
      "user_id": "me",
      "id": "r1286141135367425"
    }
  10. · POST stripe request · provider traffic · /v1/customers/cus_9H4EI7H2QMIJEIHW · HTTP 200 · request 1b535db88f0f · processing 16.5ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9H4EI7H2QMIJEIHW' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --data-raw '{
      "metadata": {
        "acme_dunning_in_6SBPHSM12A00QSSMX9S69ZEM": "final_notice"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 16.5ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "67",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/x-www-form-urlencoded"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "metadata": {
        "acme_dunning_in_6SBPHSM12A00QSSMX9S69ZEM": "final_notice"
      }
    }

    Recorded response · HTTP 200

    {
      "email": "[email protected]",
      "name": "Dana Billing",
      "id": "cus_9H4EI7H2QMIJEIHW",
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 60,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail",
      "metadata": {
        "acme_dunning_in_6SBPHSM12A00QSSMX9S69ZEM": "final_notice"
      }
    }
  11. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:16.955183+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "baseline"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 1 open",
              "durationMs": 1183
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "1 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "gmail.draft_final_notice:b7fb0ca22f",
              "kind": "gmail.draft_notice",
              "provider": "gmail",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
                "step": "final_notice",
                "sent": false
              },
              "attempts": 1,
              "ref": "r1286141135367425",
              "appliedAt": "2026-10-22T18:56:16.242Z",
              "reconciled": null
            },
            {
              "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
              "kind": "stripe.record_step",
              "provider": "stripe",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
                "step": "final_notice"
              },
              "attempts": 1,
              "ref": "cus_9H4EI7H2QMIJEIHW",
              "detail": {
                "step": "final_notice"
              },
              "appliedAt": "2026-10-22T18:56:16.457Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 2,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "dunning",
            "invoices": 1,
            "steps": [
              "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
            ],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:14.203Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:15.387Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:15.411Z",
              "msg": "planned 2 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:16.243Z",
              "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
            },
            {
              "at": "2026-10-22T18:56:16.457Z",
              "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
            },
            {
              "at": "2026-10-22T18:56:16.458Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:14.203Z",
          "updatedAt": "2026-10-22T18:56:16.458Z"
        }
      ]
    }
  12. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:17.207937+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "329",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 1183
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:b7fb0ca22f",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r1286141135367425",
          "appliedAt": "2026-10-22T18:56:16.242Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_9H4EI7H2QMIJEIHW",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:16.457Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:14.203Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:15.387Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:15.411Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:16.243Z",
          "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
        },
        {
          "at": "2026-10-22T18:56:16.457Z",
          "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
        },
        {
          "at": "2026-10-22T18:56:16.458Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T18:56:17.067Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:14.203Z",
      "updatedAt": "2026-10-22T18:56:17.067Z",
      "duplicate": true
    }
  13. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:17.546013+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "baseline-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "baseline"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 1 open",
              "durationMs": 1183
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "1 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "gmail.draft_final_notice:b7fb0ca22f",
              "kind": "gmail.draft_notice",
              "provider": "gmail",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
                "step": "final_notice",
                "sent": false
              },
              "attempts": 1,
              "ref": "r1286141135367425",
              "appliedAt": "2026-10-22T18:56:16.242Z",
              "reconciled": null
            },
            {
              "id": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM",
              "kind": "stripe.record_step",
              "provider": "stripe",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_6SBPHSM12A00QSSMX9S69ZEM",
                "step": "final_notice"
              },
              "attempts": 1,
              "ref": "cus_9H4EI7H2QMIJEIHW",
              "detail": {
                "step": "final_notice"
              },
              "appliedAt": "2026-10-22T18:56:16.457Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 2,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "dunning",
            "invoices": 1,
            "steps": [
              "in_6SBPHSM12A00QSSMX9S69ZEM:final_notice"
            ],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:14.203Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:15.387Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:15.411Z",
              "msg": "planned 2 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:16.243Z",
              "msg": "gmail.draft_final_notice:b7fb0ca22f: applied"
            },
            {
              "at": "2026-10-22T18:56:16.457Z",
              "msg": "stripe.record_step:in_6SBPHSM12A00QSSMX9S69ZEM: applied"
            },
            {
              "at": "2026-10-22T18:56:16.458Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T18:56:17.067Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:14.203Z",
          "updatedAt": "2026-10-22T18:56:17.067Z"
        }
      ]
    }
  14. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/first_failure_card_update_notice/runs · first failure card update notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/first_failure_card_update_notice/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:17.801945+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  15. · POST app request /invocations · first failure card update notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_D4F157M1PQMOMXU8WUXWPY90",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "first_failure_card_update_notice"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:18.748059+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "379",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_D4F157M1PQMOMXU8WUXWPY90",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "first_failure_card_update_notice"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "first_failure_card_update_notice"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 686
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_D4F157M1PQMOMXU8WUXWPY90: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:17.923Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:18.610Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:18.612Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:18.615Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:17.923Z",
      "updatedAt": "2026-10-22T18:56:18.615Z",
      "duplicate": false
    }
  16. · GET stripe request · provider traffic · /v1/invoices/in_D4F157M1PQMOMXU8WUXWPY90 · HTTP 200 · request c7cd9f26d692 · processing 96.99ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_D4F157M1PQMOMXU8WUXWPY90' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 96.99ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 0,
      "amount_overpaid": 0,
      "amount_paid": 0,
      "amount_remaining": 0,
      "amount_shipping": 0,
      "application": null,
      "attempt_count": 0,
      "attempted": false,
      "auto_advance": false,
      "automatic_tax": {
        "enabled": false,
        "disabled_reason": null,
        "liability": null,
        "provider": null,
        "status": null
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695268,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_SW7TNDGMHXLQZGVO",
      "customer_account": null,
      "customer_address": null,
      "customer_email": "[email protected]",
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [],
      "description": null,
      "discounts": [],
      "due_date": null,
      "effective_at": null,
      "ending_balance": 0,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": null,
      "id": "in_D4F157M1PQMOMXU8WUXWPY90",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/invoices/in_D4F157M1PQMOMXU8WUXWPY90/lines"
      },
      "livemode": false,
      "metadata": {},
      "next_payment_attempt": null,
      "number": "FS-PQMOMXU8WUXWPY90",
      "object": "invoice",
      "on_behalf_of": null,
      "parent": null,
      "payment_settings": {
        "default_mandate": null,
        "payment_method_options": null,
        "payment_method_types": null
      },
      "period_end": 1792695268,
      "period_start": 1792695268,
      "post_payment_credit_notes_amount": 0,
      "pre_payment_credit_notes_amount": 0,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 0,
      "statement_descriptor": null,
      "status": "paid",
      "status_transitions": {
        "finalized_at": 1792695269,
        "paid_at": 1792695269,
        "voided_at": null,
        "marked_uncollectible_at": null
      },
      "subtotal": 0,
      "subtotal_excluding_tax": 0,
      "test_clock": null,
      "total": 0,
      "total_discount_amounts": [],
      "total_excluding_tax": 0,
      "total_pretax_credit_amounts": [],
      "total_taxes": [],
      "webhooks_delivered_at": null
    }
  17. · GET stripe request · provider traffic · /v1/customers/cus_SW7TNDGMHXLQZGVO · HTTP 200 · request e5a9a891cf2c · processing 16.94ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_SW7TNDGMHXLQZGVO' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 16.94ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 9,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_SW7TNDGMHXLQZGVO",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  18. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request ad279d9b9d34 · processing 2.55ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.55ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  19. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/first_failure_card_update_notice/runs · first failure card update notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/first_failure_card_update_notice/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:19.075269+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "first_failure_card_update_notice"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 686
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_D4F157M1PQMOMXU8WUXWPY90: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:17.923Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:18.610Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:18.612Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:18.615Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:17.923Z",
          "updatedAt": "2026-10-22T18:56:18.615Z"
        }
      ]
    }
  20. · POST app request /invocations · first failure card update notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_D4F157M1PQMOMXU8WUXWPY90",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "first_failure_card_update_notice"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:19.325602+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "379",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_D4F157M1PQMOMXU8WUXWPY90",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "first_failure_card_update_notice"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "first_failure_card_update_notice"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 686
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_D4F157M1PQMOMXU8WUXWPY90: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:17.923Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:18.610Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:18.612Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:18.615Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T18:56:19.195Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:17.923Z",
      "updatedAt": "2026-10-22T18:56:19.195Z",
      "duplicate": true
    }
  21. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/first_failure_card_update_notice/runs · first failure card update notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/first_failure_card_update_notice/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:19.672148+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "first-failure-card-update-notice-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "first_failure_card_update_notice"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 686
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_D4F157M1PQMOMXU8WUXWPY90: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:17.923Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:18.610Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:18.612Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:18.615Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T18:56:19.195Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:17.923Z",
          "updatedAt": "2026-10-22T18:56:19.195Z"
        }
      ]
    }
  22. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/second_failure_tries_backup_card/runs · second failure tries backup card · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/second_failure_tries_backup_card/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:19.924256+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  23. · POST app request /invocations · second failure tries backup card · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_ZHX7UR385JQFUO0K0GOWK40Y",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "second_failure_tries_backup_card"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:20.846318+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "379",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_ZHX7UR385JQFUO0K0GOWK40Y",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "second_failure_tries_backup_card"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "second_failure_tries_backup_card"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 653
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_ZHX7UR385JQFUO0K0GOWK40Y: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:20.057Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:20.711Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:20.713Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:20.714Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:20.057Z",
      "updatedAt": "2026-10-22T18:56:20.714Z",
      "duplicate": false
    }
  24. · GET stripe request · provider traffic · /v1/invoices/in_ZHX7UR385JQFUO0K0GOWK40Y · HTTP 200 · request 38ac67bcbd3f · processing 93.07ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_ZHX7UR385JQFUO0K0GOWK40Y' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 93.07ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 0,
      "amount_overpaid": 0,
      "amount_paid": 0,
      "amount_remaining": 0,
      "amount_shipping": 0,
      "application": null,
      "attempt_count": 0,
      "attempted": false,
      "auto_advance": false,
      "automatic_tax": {
        "enabled": false,
        "disabled_reason": null,
        "liability": null,
        "provider": null,
        "status": null
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695271,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_9EO3QVSB8GE5TK8C",
      "customer_account": null,
      "customer_address": null,
      "customer_email": "[email protected]",
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [],
      "description": null,
      "discounts": [],
      "due_date": null,
      "effective_at": null,
      "ending_balance": 0,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": null,
      "id": "in_ZHX7UR385JQFUO0K0GOWK40Y",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/invoices/in_ZHX7UR385JQFUO0K0GOWK40Y/lines"
      },
      "livemode": false,
      "metadata": {},
      "next_payment_attempt": null,
      "number": "FS-5JQFUO0K0GOWK40Y",
      "object": "invoice",
      "on_behalf_of": null,
      "parent": null,
      "payment_settings": {
        "default_mandate": null,
        "payment_method_options": null,
        "payment_method_types": null
      },
      "period_end": 1792695271,
      "period_start": 1792695271,
      "post_payment_credit_notes_amount": 0,
      "pre_payment_credit_notes_amount": 0,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 0,
      "statement_descriptor": null,
      "status": "paid",
      "status_transitions": {
        "finalized_at": 1792695271,
        "paid_at": 1792695271,
        "voided_at": null,
        "marked_uncollectible_at": null
      },
      "subtotal": 0,
      "subtotal_excluding_tax": 0,
      "test_clock": null,
      "total": 0,
      "total_discount_amounts": [],
      "total_excluding_tax": 0,
      "total_pretax_credit_amounts": [],
      "total_taxes": [],
      "webhooks_delivered_at": null
    }
  25. · GET stripe request · provider traffic · /v1/customers/cus_9EO3QVSB8GE5TK8C · HTTP 200 · request be4995728ae0 · processing 16.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_9EO3QVSB8GE5TK8C' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 16.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 72,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_9EO3QVSB8GE5TK8C",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  26. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request 13fc5d58ec27 · processing 2.57ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.57ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  27. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/second_failure_tries_backup_card/runs · second failure tries backup card · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/second_failure_tries_backup_card/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:21.183110+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "second_failure_tries_backup_card"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 653
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_ZHX7UR385JQFUO0K0GOWK40Y: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:20.057Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:20.711Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:20.713Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:20.714Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:20.057Z",
          "updatedAt": "2026-10-22T18:56:20.714Z"
        }
      ]
    }
  28. · POST app request /invocations · second failure tries backup card · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_ZHX7UR385JQFUO0K0GOWK40Y",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "second_failure_tries_backup_card"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:21.460101+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "379",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_ZHX7UR385JQFUO0K0GOWK40Y",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "second_failure_tries_backup_card"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "second_failure_tries_backup_card"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 653
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_ZHX7UR385JQFUO0K0GOWK40Y: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:20.057Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:20.711Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:20.713Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:20.714Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T18:56:21.338Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:20.057Z",
      "updatedAt": "2026-10-22T18:56:21.338Z",
      "duplicate": true
    }
  29. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/second_failure_tries_backup_card/runs · second failure tries backup card · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/second_failure_tries_backup_card/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:21.807264+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "second-failure-tries-backup-card-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "second_failure_tries_backup_card"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 653
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_ZHX7UR385JQFUO0K0GOWK40Y: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:20.057Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:20.711Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:20.713Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:20.714Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T18:56:21.338Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:20.057Z",
          "updatedAt": "2026-10-22T18:56:21.338Z"
        }
      ]
    }
  30. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/final_notice_after_14_days/runs · final notice after 14 days · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/final_notice_after_14_days/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:22.063930+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  31. · POST app request /invocations · final notice after 14 days · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "final_notice_after_14_days"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:24.661029+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "383",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "final_notice_after_14_days"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "final_notice_after_14_days"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 1361
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:bc023cb3cb",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r2968987519549496",
          "appliedAt": "2026-10-22T18:56:24.330Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_PY3QZKYU9K5GP5IV",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:24.534Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_JXNXH2QPPEPTV15T8PSPL0PC:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:22.183Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:23.546Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:23.550Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:24.330Z",
          "msg": "gmail.draft_final_notice:bc023cb3cb: applied"
        },
        {
          "at": "2026-10-22T18:56:24.534Z",
          "msg": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC: applied"
        },
        {
          "at": "2026-10-22T18:56:24.535Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:22.183Z",
      "updatedAt": "2026-10-22T18:56:24.535Z",
      "duplicate": false
    }
  32. · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 34d097f5f391 · processing 15.27ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 15.27ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "email": "[email protected]",
          "name": "Dana Billing",
          "id": "cus_PY3QZKYU9K5GP5IV",
          "address": null,
          "balance": 0,
          "business_name": "Sample Business",
          "cash_balance": null,
          "created": 22,
          "currency": "USD",
          "customer_account": null,
          "default_source": null,
          "delinquent": false,
          "description": null,
          "discount": null,
          "individual_name": "Sample Individual",
          "invoice_prefix": null,
          "livemode": false,
          "object": "customer",
          "phone": "+14155550100",
          "preferred_locales": null,
          "shipping": null,
          "tax_exempt": "exempt",
          "test_clock": null
        }
      ],
      "has_more": false,
      "object": "list",
      "url": "/v1/customers"
    }
  33. · GET stripe request · provider traffic · /v1/invoices · HTTP 200 · request b9adda9cb7c8 · processing 624.01ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 624.01ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "object": "invoice",
          "parent": {
            "type": "subscription_details",
            "subscription_details": {
              "subscription": "sub_LK0DD4WSL5PPIO67G5OL557M",
              "metadata": {}
            }
          },
          "customer": "cus_PY3QZKYU9K5GP5IV",
          "currency": "usd",
          "total": 60000,
          "amount_due": 60000,
          "amount_paid": 0,
          "amount_remaining": 60000,
          "status": "open",
          "created": 1792695272,
          "id": "in_JXNXH2QPPEPTV15T8PSPL0PC",
          "payments": {
            "object": "list",
            "data": [
              {
                "id": "inpay_VTFX6UJHPTRWYODC8ULB56L8",
                "object": "invoice_payment",
                "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
                "amount_requested": 60000,
                "amount_paid": null,
                "currency": "usd",
                "created": 1792695272,
                "is_default": true,
                "livemode": false,
                "status": "open",
                "status_transitions": {
                  "paid_at": null,
                  "canceled_at": null
                },
                "payment": {
                  "type": "payment_intent",
                  "payment_intent": "pi_EA02JFR4LFDQDFI521PQ0892"
                }
              }
            ],
            "has_more": false,
            "url": "/v1/invoice_payments?invoice=in_JXNXH2QPPEPTV15T8PSPL0PC"
          },
          "amount_overpaid": 89,
          "amount_shipping": 77,
          "attempt_count": 13,
          "attempted": true,
          "auto_advance": true,
          "automatic_tax": {
            "disabled_reason": "finalization_requires_location_inputs",
            "enabled": true,
            "provider": "default",
            "status": "complete"
          },
          "collection_method": "charge_automatically",
          "default_tax_rates": [
            {
              "active": true,
              "country": "US",
              "created": 29,
              "display_name": "Item 826",
              "id": "obj_86d22bb25f5d43a187f18687fd",
              "inclusive": true,
              "jurisdiction_level": "city",
              "livemode": false,
              "object": "tax_rate",
              "percentage": 244.4925,
              "rate_type": "flat_amount",
              "tax_type": "amusement_tax"
            }
          ],
          "discounts": [
            "sample-value"
          ],
          "issuer": {
            "type": "account"
          },
          "lines": {
            "data": [
              {
                "amount": 29,
                "currency": "USD",
                "discountable": true,
                "discounts": [
                  "sample-value"
                ],
                "id": "obj_ae02fdd7b2f24bcb869d8807e1",
                "livemode": false,
                "metadata": {},
                "object": "line_item",
                "period": {
                  "end": 39,
                  "start": 57
                },
                "subtotal": 47
              }
            ],
            "has_more": true,
            "object": "list",
            "url": "https://example.com/8e37d143"
          },
          "livemode": true,
          "payment_settings": {
            "default_mandate": "sample-value",
            "payment_method_options": {
              "acss_debit": {
                "mandate_options": {
                  "transaction_type": "business"
                },
                "verification_method": "automatic"
              },
              "bancontact": {
                "preferred_language": "de"
              },
              "card": {
                "installments": {
                  "enabled": true
                },
                "request_three_d_secure": "any"
              },
              "customer_balance": {
                "bank_transfer": {
                  "eu_bank_transfer": {
                    "country": "US"
                  },
                  "type": "default"
                },
                "funding_type": "bank_transfer"
              },
              "konbini": {},
              "payto": {
                "mandate_options": {
                  "amount": 52,
                  "amount_type": "fixed",
                  "purpose": "dependant_support"
                }
              },
              "sepa_debit": {},
              "us_bank_account": {
                "financial_connections": {
                  "filters": {
                    "account_subcategories": [
                      "checking"
                    ]
                  },
                  "permissions": [
                    "balances"
                  ],
                  "prefetch": [
                    "balances"
                  ]
                },
                "verification_method": "automatic"
              }
            },
            "payment_method_types": [
              "ach_credit_transfer"
            ]
          },
          "period_end": 26,
          "period_start": 65,
          "post_payment_credit_notes_amount": 13,
          "pre_payment_credit_notes_amount": 71,
          "starting_balance": 44,
          "status_transitions": {
            "finalized_at": 2,
            "marked_uncollectible_at": 85,
            "paid_at": 92,
            "voided_at": 35
          },
          "subtotal": 59,
          "account_country": null,
          "account_name": null,
          "account_tax_ids": null,
          "application": null,
          "automatically_finalizes_at": null,
          "billing_reason": null,
          "confirmation_secret": "[redacted]",
          "custom_fields": null,
          "customer_account": null,
          "customer_address": null,
          "customer_email": null,
          "customer_name": null,
          "customer_phone": null,
          "customer_shipping": null,
          "customer_tax_exempt": null,
          "customer_tax_ids": null,
          "default_payment_method": null,
          "default_source": null,
          "description": null,
          "due_date": null,
          "effective_at": null,
          "ending_balance": null,
          "footer": null,
          "from_invoice": null,
          "hosted_invoice_url": null,
          "invoice_pdf": null,
          "last_finalization_error": null,
          "latest_revision": null,
          "metadata": null,
          "next_payment_attempt": null,
          "number": null,
          "on_behalf_of": null,
          "receipt_number": null,
          "rendering": null,
          "shipping_cost": null,
          "shipping_details": null,
          "statement_descriptor": null,
          "subtotal_excluding_tax": null,
          "test_clock": null,
          "total_discount_amounts": null,
          "total_excluding_tax": null,
          "total_pretax_credit_amounts": null,
          "total_taxes": null,
          "webhooks_delivered_at": null
        }
      ],
      "has_more": false,
      "object": "list",
      "url": "/v1/invoices"
    }
  34. · GET stripe request · provider traffic · /v1/customers/cus_PY3QZKYU9K5GP5IV · HTTP 200 · request 2723dc3f4a6b · processing 15.78ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_PY3QZKYU9K5GP5IV' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 15.78ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 22,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_PY3QZKYU9K5GP5IV",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  35. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request 4d078aff7a41 · processing 2.59ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.59ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  36. · GET stripe request · provider traffic · /v1/invoices/in_JXNXH2QPPEPTV15T8PSPL0PC · HTTP 200 · request c19b5f515091 · processing 218.88ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_JXNXH2QPPEPTV15T8PSPL0PC' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 218.88ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 60000,
      "amount_overpaid": 72,
      "amount_paid": 0,
      "amount_remaining": 60000,
      "amount_shipping": 14,
      "application": null,
      "attempt_count": 0,
      "attempted": true,
      "auto_advance": true,
      "automatic_tax": {
        "disabled_reason": "finalization_requires_location_inputs",
        "enabled": true,
        "liability": null,
        "provider": "default",
        "status": "complete"
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695272,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_PY3QZKYU9K5GP5IV",
      "customer_account": null,
      "customer_address": null,
      "customer_email": null,
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [
        {
          "active": true,
          "country": "US",
          "created": 89,
          "description": null,
          "display_name": "Item 650",
          "effective_percentage": null,
          "flat_amount": null,
          "id": "obj_d55b326df86b4126931910d408",
          "inclusive": true,
          "jurisdiction": null,
          "jurisdiction_level": "city",
          "livemode": false,
          "metadata": null,
          "object": "tax_rate",
          "percentage": 632.5663,
          "rate_type": "flat_amount",
          "state": null,
          "tax_type": "amusement_tax"
        }
      ],
      "description": null,
      "discounts": [
        "sample-value"
      ],
      "due_date": null,
      "effective_at": null,
      "ending_balance": null,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": "https://example.com/71e8c1c3",
      "id": "in_JXNXH2QPPEPTV15T8PSPL0PC",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "data": [
          {
            "amount": 55,
            "currency": "USD",
            "description": null,
            "discount_amounts": null,
            "discountable": true,
            "discounts": [
              "sample-value"
            ],
            "id": "obj_40143cc8cdcf4e158263c4c30c",
            "invoice": null,
            "livemode": false,
            "metadata": {},
            "object": "line_item",
            "parent": null,
            "period": {
              "end": 96,
              "start": 87
            },
            "pretax_credit_amounts": null,
            "pricing": null,
            "quantity": null,
            "subscription": null,
            "subtotal": 85,
            "taxes": null
          }
        ],
        "has_more": true,
        "object": "list",
        "url": "https://example.com/04b26012"
      },
      "livemode": false,
      "metadata": null,
      "next_payment_attempt": null,
      "number": null,
      "object": "invoice",
      "on_behalf_of": null,
      "parent": {
        "type": "subscription_details",
        "subscription_details": {
          "subscription": "sub_LK0DD4WSL5PPIO67G5OL557M",
          "metadata": {}
        }
      },
      "payment_settings": {
        "default_mandate": "sample-value",
        "payment_method_options": {
          "acss_debit": {
            "mandate_options": "sample-value",
            "verification_method": "automatic"
          },
          "bancontact": {
            "preferred_language": "de"
          },
          "card": {
            "installments": "sample-value",
            "request_three_d_secure": "any"
          },
          "customer_balance": {
            "bank_transfer": "sample-value",
            "funding_type": "bank_transfer"
          },
          "konbini": {},
          "payto": {
            "mandate_options": "sample-value"
          },
          "sepa_debit": {},
          "us_bank_account": {
            "financial_connections": "sample-value",
            "verification_method": "automatic"
          }
        },
        "payment_method_types": [
          "ach_credit_transfer"
        ]
      },
      "period_end": 29,
      "period_start": 60,
      "post_payment_credit_notes_amount": 99,
      "pre_payment_credit_notes_amount": 90,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 5,
      "statement_descriptor": null,
      "status": "open",
      "status_transitions": {
        "finalized_at": 64,
        "marked_uncollectible_at": 24,
        "paid_at": 21,
        "voided_at": 90
      },
      "subtotal": 3,
      "subtotal_excluding_tax": null,
      "test_clock": null,
      "total": 60000,
      "total_discount_amounts": null,
      "total_excluding_tax": null,
      "total_pretax_credit_amounts": null,
      "total_taxes": null,
      "webhooks_delivered_at": null,
      "payments": {
        "object": "list",
        "data": [
          {
            "id": "inpay_VTFX6UJHPTRWYODC8ULB56L8",
            "object": "invoice_payment",
            "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
            "amount_requested": 60000,
            "amount_paid": null,
            "currency": "usd",
            "created": 1792695272,
            "is_default": true,
            "livemode": false,
            "status": "open",
            "status_transitions": {
              "paid_at": null,
              "canceled_at": null
            },
            "payment": {
              "type": "payment_intent",
              "payment_intent": "pi_EA02JFR4LFDQDFI521PQ0892"
            }
          }
        ],
        "has_more": false,
        "url": "/v1/invoice_payments?invoice=in_JXNXH2QPPEPTV15T8PSPL0PC"
      }
    }
  37. · GET stripe request · provider traffic · /v1/customers/cus_PY3QZKYU9K5GP5IV · HTTP 200 · request 4a7b0ff17496 · processing 17.53ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_PY3QZKYU9K5GP5IV' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 17.53ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 22,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_PY3QZKYU9K5GP5IV",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  38. · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request cbb432671fab · processing 13.53ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/caf533faa2/gmail/v1/users/me/drafts' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tZmluYWwtbm90aWNlLWFmdGVyLTE0LWRheXNAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDw0YzU3NzVhMmUwYzQyMjg5LmR1bm5pbmctZmluYWxfbm90aWNlLWJjMDIzY2IzY2JAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fSlhOWEgyUVBQRVBUVjE1VDhQU1BMMFBDIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 13.53ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "632",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/json; charset=utf-8"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tZmluYWwtbm90aWNlLWFmdGVyLTE0LWRheXNAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDw0YzU3NzVhMmUwYzQyMjg5LmR1bm5pbmctZmluYWxfbm90aWNlLWJjMDIzY2IzY2JAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fSlhOWEgyUVBQRVBUVjE1VDhQU1BMMFBDIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw"
      }
    }

    Recorded response · HTTP 200

    {
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tZmluYWwtbm90aWNlLWFmdGVyLTE0LWRheXNAYmlsbGluZy5leGFtcGxlLmNvbQ0KU3ViamVjdDogRmluYWwgbm90aWNlOiAkNjAwLjAwIG92ZXJkdWUNCk1lc3NhZ2UtSUQ6IDw0YzU3NzVhMmUwYzQyMjg5LmR1bm5pbmctZmluYWxfbm90aWNlLWJjMDIzY2IzY2JAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIZWxsbywKCkludm9pY2UgaW5fSlhOWEgyUVBQRVBUVjE1VDhQU1BMMFBDIGZvciAkNjAwLjAwIGlzIG92ZXJkdWUuIElmIGl0IHN0YXlzIHVucGFpZCwgeW91ciBzdWJzY3JpcHRpb24gd2lsbCBiZSBjYW5jZWxsZWQgYWZ0ZXIgYSByZXZpZXcgYnkgb3VyIGJpbGxpbmcgdGVhbS4KCkFDTUUgQmlsbGluZw",
        "payload": {
          "mimeType": "text/plain",
          "headers": [
            {
              "name": "From",
              "value": "me"
            },
            {
              "name": "To",
              "value": "[email protected]"
            },
            {
              "name": "Subject",
              "value": "Final notice: $600.00 overdue"
            },
            {
              "name": "Message-ID",
              "value": "<4c5775a2e0c42289.dunning-final_notice-bc023cb3cb@ops.acme.example>"
            },
            {
              "name": "MIME-Version",
              "value": "1.0"
            },
            {
              "name": "Content-Type",
              "value": "text/plain; charset=\"UTF-8\""
            },
            {
              "name": "Content-Transfer-Encoding",
              "value": "8bit"
            }
          ],
          "body": {
            "size": 173,
            "data": "SGVsbG8sCgpJbnZvaWNlIGluX0pYTlhIMlFQUEVQVFYxNVQ4UFNQTDBQQyBmb3IgJDYwMC4wMCBpcyBvdmVyZHVlLiBJZiBpdCBzdGF5cyB1bnBhaWQsIHlvdXIgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2FuY2VsbGVkIGFmdGVyIGEgcmV2aWV3IGJ5IG91ciBiaWxsaW5nIHRlYW0uCgpBQ01FIEJpbGxpbmc"
          }
        },
        "sizeEstimate": 457,
        "labelIds": [
          "DRAFT"
        ],
        "id": "7156cf22ddda4a90"
      },
      "user_id": "me",
      "id": "r2968987519549496"
    }
  39. · POST stripe request · provider traffic · /v1/customers/cus_PY3QZKYU9K5GP5IV · HTTP 200 · request c29b7bb42086 · processing 16.16ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_PY3QZKYU9K5GP5IV' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --data-raw '{
      "metadata": {
        "acme_dunning_in_JXNXH2QPPEPTV15T8PSPL0PC": "final_notice"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 16.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "67",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/x-www-form-urlencoded"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "metadata": {
        "acme_dunning_in_JXNXH2QPPEPTV15T8PSPL0PC": "final_notice"
      }
    }

    Recorded response · HTTP 200

    {
      "email": "[email protected]",
      "name": "Dana Billing",
      "id": "cus_PY3QZKYU9K5GP5IV",
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 22,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail",
      "metadata": {
        "acme_dunning_in_JXNXH2QPPEPTV15T8PSPL0PC": "final_notice"
      }
    }
  40. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/final_notice_after_14_days/runs · final notice after 14 days · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/final_notice_after_14_days/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:25.033811+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "final_notice_after_14_days"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 1 open",
              "durationMs": 1361
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "1 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "gmail.draft_final_notice:bc023cb3cb",
              "kind": "gmail.draft_notice",
              "provider": "gmail",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
                "step": "final_notice",
                "sent": false
              },
              "attempts": 1,
              "ref": "r2968987519549496",
              "appliedAt": "2026-10-22T18:56:24.330Z",
              "reconciled": null
            },
            {
              "id": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC",
              "kind": "stripe.record_step",
              "provider": "stripe",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
                "step": "final_notice"
              },
              "attempts": 1,
              "ref": "cus_PY3QZKYU9K5GP5IV",
              "detail": {
                "step": "final_notice"
              },
              "appliedAt": "2026-10-22T18:56:24.534Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 2,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "dunning",
            "invoices": 1,
            "steps": [
              "in_JXNXH2QPPEPTV15T8PSPL0PC:final_notice"
            ],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:22.183Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:23.546Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:23.550Z",
              "msg": "planned 2 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:24.330Z",
              "msg": "gmail.draft_final_notice:bc023cb3cb: applied"
            },
            {
              "at": "2026-10-22T18:56:24.534Z",
              "msg": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC: applied"
            },
            {
              "at": "2026-10-22T18:56:24.535Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:22.183Z",
          "updatedAt": "2026-10-22T18:56:24.535Z"
        }
      ]
    }
  41. · POST app request /invocations · final notice after 14 days · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "final_notice_after_14_days"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:25.305428+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "383",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "final_notice_after_14_days"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "final_notice_after_14_days"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 1361
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:bc023cb3cb",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r2968987519549496",
          "appliedAt": "2026-10-22T18:56:24.330Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_PY3QZKYU9K5GP5IV",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:24.534Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_JXNXH2QPPEPTV15T8PSPL0PC:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:22.183Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:23.546Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:23.550Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:24.330Z",
          "msg": "gmail.draft_final_notice:bc023cb3cb: applied"
        },
        {
          "at": "2026-10-22T18:56:24.534Z",
          "msg": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC: applied"
        },
        {
          "at": "2026-10-22T18:56:24.535Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T18:56:25.168Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:22.183Z",
      "updatedAt": "2026-10-22T18:56:25.168Z",
      "duplicate": true
    }
  42. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/final_notice_after_14_days/runs · final notice after 14 days · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/final_notice_after_14_days/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:25.645823+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "final-notice-after-14-days-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "final_notice_after_14_days"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 1 open",
              "durationMs": 1361
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "1 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "gmail.draft_final_notice:bc023cb3cb",
              "kind": "gmail.draft_notice",
              "provider": "gmail",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
                "step": "final_notice",
                "sent": false
              },
              "attempts": 1,
              "ref": "r2968987519549496",
              "appliedAt": "2026-10-22T18:56:24.330Z",
              "reconciled": null
            },
            {
              "id": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC",
              "kind": "stripe.record_step",
              "provider": "stripe",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_JXNXH2QPPEPTV15T8PSPL0PC",
                "step": "final_notice"
              },
              "attempts": 1,
              "ref": "cus_PY3QZKYU9K5GP5IV",
              "detail": {
                "step": "final_notice"
              },
              "appliedAt": "2026-10-22T18:56:24.534Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 2,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "dunning",
            "invoices": 1,
            "steps": [
              "in_JXNXH2QPPEPTV15T8PSPL0PC:final_notice"
            ],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:22.183Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:23.546Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:23.550Z",
              "msg": "planned 2 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:24.330Z",
              "msg": "gmail.draft_final_notice:bc023cb3cb: applied"
            },
            {
              "at": "2026-10-22T18:56:24.534Z",
              "msg": "stripe.record_step:in_JXNXH2QPPEPTV15T8PSPL0PC: applied"
            },
            {
              "at": "2026-10-22T18:56:24.535Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T18:56:25.168Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:22.183Z",
          "updatedAt": "2026-10-22T18:56:25.168Z"
        }
      ]
    }
  43. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/cancellation_needs_approval/runs · cancellation needs approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/cancellation_needs_approval/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:25.888775+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  44. · POST app request /invocations · cancellation needs approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "cancellation_needs_approval"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:28.436887+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "386",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "cancellation_needs_approval"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "cancellation_needs_approval"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 896
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:aa550e3a1a",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r4703700278633427",
          "appliedAt": "2026-10-22T18:56:28.115Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_WFOTIBWGPNDNHNRP",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:28.315Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_HZV2FOX5SENPYNC7RR3C0IYH:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:26.004Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:26.902Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:26.904Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:28.115Z",
          "msg": "gmail.draft_final_notice:aa550e3a1a: applied"
        },
        {
          "at": "2026-10-22T18:56:28.315Z",
          "msg": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH: applied"
        },
        {
          "at": "2026-10-22T18:56:28.316Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:26.004Z",
      "updatedAt": "2026-10-22T18:56:28.316Z",
      "duplicate": false
    }
  45. · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request c7f73b3c5a52 · processing 17.87ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 17.87ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "email": "[email protected]",
          "name": "Dana Billing",
          "id": "cus_WFOTIBWGPNDNHNRP",
          "address": null,
          "balance": 0,
          "business_name": "Sample Business",
          "cash_balance": null,
          "created": 57,
          "currency": "USD",
          "customer_account": null,
          "default_source": null,
          "delinquent": false,
          "description": null,
          "discount": null,
          "individual_name": "Sample Individual",
          "invoice_prefix": null,
          "livemode": false,
          "object": "customer",
          "phone": "+14155550100",
          "preferred_locales": null,
          "shipping": null,
          "tax_exempt": "exempt",
          "test_clock": null
        }
      ],
      "has_more": false,
      "object": "list",
      "url": "/v1/customers"
    }
  46. · GET stripe request · provider traffic · /v1/invoices · HTTP 200 · request 018258a23e1f · processing 157.65ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 157.65ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "object": "invoice",
          "parent": {
            "type": "subscription_details",
            "subscription_details": {
              "subscription": "sub_5GFMMEQUI7OW4HTDD69ACV0K",
              "metadata": {}
            }
          },
          "customer": "cus_WFOTIBWGPNDNHNRP",
          "currency": "usd",
          "total": 60000,
          "amount_due": 60000,
          "amount_paid": 0,
          "amount_remaining": 60000,
          "status": "open",
          "created": 1792695275,
          "id": "in_HZV2FOX5SENPYNC7RR3C0IYH",
          "payments": {
            "object": "list",
            "data": [
              {
                "id": "inpay_G3ARARQZTS4CNR4LV9EM21V9",
                "object": "invoice_payment",
                "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
                "amount_requested": 60000,
                "amount_paid": null,
                "currency": "usd",
                "created": 1792695275,
                "is_default": true,
                "livemode": false,
                "status": "open",
                "status_transitions": {
                  "paid_at": null,
                  "canceled_at": null
                },
                "payment": {
                  "type": "payment_intent",
                  "payment_intent": "pi_RKWTM2N3RU1EVNA7LT1SCGB3"
                }
              }
            ],
            "has_more": false,
            "url": "/v1/invoice_payments?invoice=in_HZV2FOX5SENPYNC7RR3C0IYH"
          },
          "amount_overpaid": 92,
          "amount_shipping": 17,
          "attempt_count": 70,
          "attempted": true,
          "auto_advance": true,
          "automatic_tax": {
            "disabled_reason": "finalization_requires_location_inputs",
            "enabled": true,
            "provider": "default",
            "status": "complete"
          },
          "collection_method": "charge_automatically",
          "default_tax_rates": [
            {
              "active": true,
              "country": "US",
              "created": 42,
              "display_name": "Item 925",
              "id": "obj_2906e94946a54b8ba16cc06ce4",
              "inclusive": true,
              "jurisdiction_level": "city",
              "livemode": false,
              "object": "tax_rate",
              "percentage": 577.7496,
              "rate_type": "flat_amount",
              "tax_type": "amusement_tax"
            }
          ],
          "discounts": [
            "sample-value"
          ],
          "issuer": {
            "type": "account"
          },
          "lines": {
            "data": [
              {
                "amount": 74,
                "currency": "USD",
                "discountable": true,
                "discounts": [
                  "sample-value"
                ],
                "id": "obj_289178944af24c5eb1346abb65",
                "livemode": false,
                "metadata": {},
                "object": "line_item",
                "period": {
                  "end": 21,
                  "start": 4
                },
                "subtotal": 32
              }
            ],
            "has_more": true,
            "object": "list",
            "url": "https://example.com/b0ee50f2"
          },
          "livemode": true,
          "payment_settings": {
            "default_mandate": "sample-value",
            "payment_method_options": {
              "acss_debit": {
                "mandate_options": {
                  "transaction_type": "business"
                },
                "verification_method": "automatic"
              },
              "bancontact": {
                "preferred_language": "de"
              },
              "card": {
                "installments": {
                  "enabled": true
                },
                "request_three_d_secure": "any"
              },
              "customer_balance": {
                "bank_transfer": {
                  "eu_bank_transfer": {
                    "country": "US"
                  },
                  "type": "default"
                },
                "funding_type": "bank_transfer"
              },
              "konbini": {},
              "payto": {
                "mandate_options": {
                  "amount": 0,
                  "amount_type": "fixed",
                  "purpose": "dependant_support"
                }
              },
              "sepa_debit": {},
              "us_bank_account": {
                "financial_connections": {
                  "filters": {
                    "account_subcategories": [
                      "checking"
                    ]
                  },
                  "permissions": [
                    "balances"
                  ],
                  "prefetch": [
                    "balances"
                  ]
                },
                "verification_method": "automatic"
              }
            },
            "payment_method_types": [
              "ach_credit_transfer"
            ]
          },
          "period_end": 70,
          "period_start": 80,
          "post_payment_credit_notes_amount": 9,
          "pre_payment_credit_notes_amount": 32,
          "starting_balance": 70,
          "status_transitions": {
            "finalized_at": 14,
            "marked_uncollectible_at": 82,
            "paid_at": 63,
            "voided_at": 48
          },
          "subtotal": 23,
          "account_country": null,
          "account_name": null,
          "account_tax_ids": null,
          "application": null,
          "automatically_finalizes_at": null,
          "billing_reason": null,
          "confirmation_secret": "[redacted]",
          "custom_fields": null,
          "customer_account": null,
          "customer_address": null,
          "customer_email": null,
          "customer_name": null,
          "customer_phone": null,
          "customer_shipping": null,
          "customer_tax_exempt": null,
          "customer_tax_ids": null,
          "default_payment_method": null,
          "default_source": null,
          "description": null,
          "due_date": null,
          "effective_at": null,
          "ending_balance": null,
          "footer": null,
          "from_invoice": null,
          "hosted_invoice_url": null,
          "invoice_pdf": null,
          "last_finalization_error": null,
          "latest_revision": null,
          "metadata": null,
          "next_payment_attempt": null,
          "number": null,
          "on_behalf_of": null,
          "receipt_number": null,
          "rendering": null,
          "shipping_cost": null,
          "shipping_details": null,
          "statement_descriptor": null,
          "subtotal_excluding_tax": null,
          "test_clock": null,
          "total_discount_amounts": null,
          "total_excluding_tax": null,
          "total_pretax_credit_amounts": null,
          "total_taxes": null,
          "webhooks_delivered_at": null
        }
      ],
      "has_more": false,
      "object": "list",
      "url": "/v1/invoices"
    }
  47. · GET stripe request · provider traffic · /v1/customers/cus_WFOTIBWGPNDNHNRP · HTTP 200 · request c26c73754e61 · processing 15.56ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_WFOTIBWGPNDNHNRP' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 15.56ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 57,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_WFOTIBWGPNDNHNRP",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  48. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request d0761a1ca2d1 · processing 2.48ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.48ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  49. · GET stripe request · provider traffic · /v1/invoices/in_HZV2FOX5SENPYNC7RR3C0IYH · HTTP 200 · request 8e3ae46304da · processing 684.91ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_HZV2FOX5SENPYNC7RR3C0IYH' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 684.91ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 60000,
      "amount_overpaid": 6,
      "amount_paid": 0,
      "amount_remaining": 60000,
      "amount_shipping": 77,
      "application": null,
      "attempt_count": 0,
      "attempted": true,
      "auto_advance": true,
      "automatic_tax": {
        "disabled_reason": "finalization_requires_location_inputs",
        "enabled": true,
        "liability": null,
        "provider": "default",
        "status": "complete"
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695275,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_WFOTIBWGPNDNHNRP",
      "customer_account": null,
      "customer_address": null,
      "customer_email": null,
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [
        {
          "active": true,
          "country": "US",
          "created": 7,
          "description": null,
          "display_name": "Item 871",
          "effective_percentage": null,
          "flat_amount": null,
          "id": "obj_bb56b3e602ba4726821e0af0a1",
          "inclusive": true,
          "jurisdiction": null,
          "jurisdiction_level": "city",
          "livemode": false,
          "metadata": null,
          "object": "tax_rate",
          "percentage": 88.7321,
          "rate_type": "flat_amount",
          "state": null,
          "tax_type": "amusement_tax"
        }
      ],
      "description": null,
      "discounts": [
        "sample-value"
      ],
      "due_date": null,
      "effective_at": null,
      "ending_balance": null,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": "https://example.com/e93a162b",
      "id": "in_HZV2FOX5SENPYNC7RR3C0IYH",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "data": [
          {
            "amount": 98,
            "currency": "USD",
            "description": null,
            "discount_amounts": null,
            "discountable": true,
            "discounts": [
              "sample-value"
            ],
            "id": "obj_06def705680e41d39426804e63",
            "invoice": null,
            "livemode": false,
            "metadata": {},
            "object": "line_item",
            "parent": null,
            "period": {
              "end": 4,
              "start": 91
            },
            "pretax_credit_amounts": null,
            "pricing": null,
            "quantity": null,
            "subscription": null,
            "subtotal": 7,
            "taxes": null
          }
        ],
        "has_more": true,
        "object": "list",
        "url": "https://example.com/7015dae7"
      },
      "livemode": false,
      "metadata": null,
      "next_payment_attempt": null,
      "number": null,
      "object": "invoice",
      "on_behalf_of": null,
      "parent": {
        "type": "subscription_details",
        "subscription_details": {
          "subscription": "sub_5GFMMEQUI7OW4HTDD69ACV0K",
          "metadata": {}
        }
      },
      "payment_settings": {
        "default_mandate": "sample-value",
        "payment_method_options": {
          "acss_debit": {
            "mandate_options": "sample-value",
            "verification_method": "automatic"
          },
          "bancontact": {
            "preferred_language": "de"
          },
          "card": {
            "installments": "sample-value",
            "request_three_d_secure": "any"
          },
          "customer_balance": {
            "bank_transfer": "sample-value",
            "funding_type": "bank_transfer"
          },
          "konbini": {},
          "payto": {
            "mandate_options": "sample-value"
          },
          "sepa_debit": {},
          "us_bank_account": {
            "financial_connections": "sample-value",
            "verification_method": "automatic"
          }
        },
        "payment_method_types": [
          "ach_credit_transfer"
        ]
      },
      "period_end": 31,
      "period_start": 13,
      "post_payment_credit_notes_amount": 60,
      "pre_payment_credit_notes_amount": 75,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 91,
      "statement_descriptor": null,
      "status": "open",
      "status_transitions": {
        "finalized_at": 52,
        "marked_uncollectible_at": 9,
        "paid_at": 15,
        "voided_at": 64
      },
      "subtotal": 9,
      "subtotal_excluding_tax": null,
      "test_clock": null,
      "total": 60000,
      "total_discount_amounts": null,
      "total_excluding_tax": null,
      "total_pretax_credit_amounts": null,
      "total_taxes": null,
      "webhooks_delivered_at": null,
      "payments": {
        "object": "list",
        "data": [
          {
            "id": "inpay_G3ARARQZTS4CNR4LV9EM21V9",
            "object": "invoice_payment",
            "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
            "amount_requested": 60000,
            "amount_paid": null,
            "currency": "usd",
            "created": 1792695275,
            "is_default": true,
            "livemode": false,
            "status": "open",
            "status_transitions": {
              "paid_at": null,
              "canceled_at": null
            },
            "payment": {
              "type": "payment_intent",
              "payment_intent": "pi_RKWTM2N3RU1EVNA7LT1SCGB3"
            }
          }
        ],
        "has_more": false,
        "url": "/v1/invoice_payments?invoice=in_HZV2FOX5SENPYNC7RR3C0IYH"
      }
    }
  50. · GET stripe request · provider traffic · /v1/customers/cus_WFOTIBWGPNDNHNRP · HTTP 200 · request 961754a9b06a · processing 14.65ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_WFOTIBWGPNDNHNRP' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 14.65ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 57,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_WFOTIBWGPNDNHNRP",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  51. · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request 51f6f023f443 · processing 13.83ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/caf533faa2/gmail/v1/users/me/drafts' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tY2FuY2VsbGF0aW9uLW5lZWRzLWFwcHJvdmFsQGJpbGxpbmcuZXhhbXBsZS5jb20NClN1YmplY3Q6IEZpbmFsIG5vdGljZTogJDYwMC4wMCBvdmVyZHVlDQpNZXNzYWdlLUlEOiA8NWI5MDg3YmMzZjhkY2YxMi5kdW5uaW5nLWZpbmFsX25vdGljZS1hYTU1MGUzYTFhQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGVsbG8sCgpJbnZvaWNlIGluX0haVjJGT1g1U0VOUFlOQzdSUjNDMElZSCBmb3IgJDYwMC4wMCBpcyBvdmVyZHVlLiBJZiBpdCBzdGF5cyB1bnBhaWQsIHlvdXIgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2FuY2VsbGVkIGFmdGVyIGEgcmV2aWV3IGJ5IG91ciBiaWxsaW5nIHRlYW0uCgpBQ01FIEJpbGxpbmc"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 13.83ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "633",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/json; charset=utf-8"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tY2FuY2VsbGF0aW9uLW5lZWRzLWFwcHJvdmFsQGJpbGxpbmcuZXhhbXBsZS5jb20NClN1YmplY3Q6IEZpbmFsIG5vdGljZTogJDYwMC4wMCBvdmVyZHVlDQpNZXNzYWdlLUlEOiA8NWI5MDg3YmMzZjhkY2YxMi5kdW5uaW5nLWZpbmFsX25vdGljZS1hYTU1MGUzYTFhQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGVsbG8sCgpJbnZvaWNlIGluX0haVjJGT1g1U0VOUFlOQzdSUjNDMElZSCBmb3IgJDYwMC4wMCBpcyBvdmVyZHVlLiBJZiBpdCBzdGF5cyB1bnBhaWQsIHlvdXIgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2FuY2VsbGVkIGFmdGVyIGEgcmV2aWV3IGJ5IG91ciBiaWxsaW5nIHRlYW0uCgpBQ01FIEJpbGxpbmc"
      }
    }

    Recorded response · HTTP 200

    {
      "message": {
        "raw": "RnJvbTogbWUNClRvOiBkdW4tY2FuY2VsbGF0aW9uLW5lZWRzLWFwcHJvdmFsQGJpbGxpbmcuZXhhbXBsZS5jb20NClN1YmplY3Q6IEZpbmFsIG5vdGljZTogJDYwMC4wMCBvdmVyZHVlDQpNZXNzYWdlLUlEOiA8NWI5MDg3YmMzZjhkY2YxMi5kdW5uaW5nLWZpbmFsX25vdGljZS1hYTU1MGUzYTFhQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGVsbG8sCgpJbnZvaWNlIGluX0haVjJGT1g1U0VOUFlOQzdSUjNDMElZSCBmb3IgJDYwMC4wMCBpcyBvdmVyZHVlLiBJZiBpdCBzdGF5cyB1bnBhaWQsIHlvdXIgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2FuY2VsbGVkIGFmdGVyIGEgcmV2aWV3IGJ5IG91ciBiaWxsaW5nIHRlYW0uCgpBQ01FIEJpbGxpbmc",
        "payload": {
          "mimeType": "text/plain",
          "headers": [
            {
              "name": "From",
              "value": "me"
            },
            {
              "name": "To",
              "value": "[email protected]"
            },
            {
              "name": "Subject",
              "value": "Final notice: $600.00 overdue"
            },
            {
              "name": "Message-ID",
              "value": "<5b9087bc3f8dcf12.dunning-final_notice-aa550e3a1a@ops.acme.example>"
            },
            {
              "name": "MIME-Version",
              "value": "1.0"
            },
            {
              "name": "Content-Type",
              "value": "text/plain; charset=\"UTF-8\""
            },
            {
              "name": "Content-Transfer-Encoding",
              "value": "8bit"
            }
          ],
          "body": {
            "size": 173,
            "data": "SGVsbG8sCgpJbnZvaWNlIGluX0haVjJGT1g1U0VOUFlOQzdSUjNDMElZSCBmb3IgJDYwMC4wMCBpcyBvdmVyZHVlLiBJZiBpdCBzdGF5cyB1bnBhaWQsIHlvdXIgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2FuY2VsbGVkIGFmdGVyIGEgcmV2aWV3IGJ5IG91ciBiaWxsaW5nIHRlYW0uCgpBQ01FIEJpbGxpbmc"
          }
        },
        "sizeEstimate": 458,
        "labelIds": [
          "DRAFT"
        ],
        "id": "58400e2f38a34b7e"
      },
      "user_id": "me",
      "id": "r4703700278633427"
    }
  52. · POST stripe request · provider traffic · /v1/customers/cus_WFOTIBWGPNDNHNRP · HTTP 200 · request 29405d154b53 · processing 16.32ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_WFOTIBWGPNDNHNRP' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --data-raw '{
      "metadata": {
        "acme_dunning_in_HZV2FOX5SENPYNC7RR3C0IYH": "final_notice"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 16.32ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "67",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/x-www-form-urlencoded"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "metadata": {
        "acme_dunning_in_HZV2FOX5SENPYNC7RR3C0IYH": "final_notice"
      }
    }

    Recorded response · HTTP 200

    {
      "email": "[email protected]",
      "name": "Dana Billing",
      "id": "cus_WFOTIBWGPNDNHNRP",
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 57,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail",
      "metadata": {
        "acme_dunning_in_HZV2FOX5SENPYNC7RR3C0IYH": "final_notice"
      }
    }
  53. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/cancellation_needs_approval/runs · cancellation needs approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/cancellation_needs_approval/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:28.773838+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "cancellation_needs_approval"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 1 open",
              "durationMs": 896
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "1 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "gmail.draft_final_notice:aa550e3a1a",
              "kind": "gmail.draft_notice",
              "provider": "gmail",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
                "step": "final_notice",
                "sent": false
              },
              "attempts": 1,
              "ref": "r4703700278633427",
              "appliedAt": "2026-10-22T18:56:28.115Z",
              "reconciled": null
            },
            {
              "id": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH",
              "kind": "stripe.record_step",
              "provider": "stripe",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
                "step": "final_notice"
              },
              "attempts": 1,
              "ref": "cus_WFOTIBWGPNDNHNRP",
              "detail": {
                "step": "final_notice"
              },
              "appliedAt": "2026-10-22T18:56:28.315Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 2,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "dunning",
            "invoices": 1,
            "steps": [
              "in_HZV2FOX5SENPYNC7RR3C0IYH:final_notice"
            ],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:26.004Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:26.902Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:26.904Z",
              "msg": "planned 2 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:28.115Z",
              "msg": "gmail.draft_final_notice:aa550e3a1a: applied"
            },
            {
              "at": "2026-10-22T18:56:28.315Z",
              "msg": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH: applied"
            },
            {
              "at": "2026-10-22T18:56:28.316Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:26.004Z",
          "updatedAt": "2026-10-22T18:56:28.316Z"
        }
      ]
    }
  54. · POST app request /invocations · cancellation needs approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "cancellation_needs_approval"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:29.026198+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "386",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "sweep",
        "customers": [
          "[email protected]"
        ],
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "cancellation_needs_approval"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "cancellation_needs_approval"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 1 open",
          "durationMs": 896
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "1 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "gmail.draft_final_notice:aa550e3a1a",
          "kind": "gmail.draft_notice",
          "provider": "gmail",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
            "step": "final_notice",
            "sent": false
          },
          "attempts": 1,
          "ref": "r4703700278633427",
          "appliedAt": "2026-10-22T18:56:28.115Z",
          "reconciled": null
        },
        {
          "id": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH",
          "kind": "stripe.record_step",
          "provider": "stripe",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
            "step": "final_notice"
          },
          "attempts": 1,
          "ref": "cus_WFOTIBWGPNDNHNRP",
          "detail": {
            "step": "final_notice"
          },
          "appliedAt": "2026-10-22T18:56:28.315Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "dunning",
        "invoices": 1,
        "steps": [
          "in_HZV2FOX5SENPYNC7RR3C0IYH:final_notice"
        ],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:26.004Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:26.902Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:26.904Z",
          "msg": "planned 2 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:28.115Z",
          "msg": "gmail.draft_final_notice:aa550e3a1a: applied"
        },
        {
          "at": "2026-10-22T18:56:28.315Z",
          "msg": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH: applied"
        },
        {
          "at": "2026-10-22T18:56:28.316Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T18:56:28.889Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:26.004Z",
      "updatedAt": "2026-10-22T18:56:28.889Z",
      "duplicate": true
    }
  55. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/cancellation_needs_approval/runs · cancellation needs approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/cancellation_needs_approval/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:29.371342+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "cancellation-needs-approval-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "cancellation_needs_approval"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 1 open",
              "durationMs": 896
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "1 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "gmail.draft_final_notice:aa550e3a1a",
              "kind": "gmail.draft_notice",
              "provider": "gmail",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
                "step": "final_notice",
                "sent": false
              },
              "attempts": 1,
              "ref": "r4703700278633427",
              "appliedAt": "2026-10-22T18:56:28.115Z",
              "reconciled": null
            },
            {
              "id": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH",
              "kind": "stripe.record_step",
              "provider": "stripe",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "invoice": "in_HZV2FOX5SENPYNC7RR3C0IYH",
                "step": "final_notice"
              },
              "attempts": 1,
              "ref": "cus_WFOTIBWGPNDNHNRP",
              "detail": {
                "step": "final_notice"
              },
              "appliedAt": "2026-10-22T18:56:28.315Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 2,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "dunning",
            "invoices": 1,
            "steps": [
              "in_HZV2FOX5SENPYNC7RR3C0IYH:final_notice"
            ],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:26.004Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:26.902Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:26.904Z",
              "msg": "planned 2 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:28.115Z",
              "msg": "gmail.draft_final_notice:aa550e3a1a: applied"
            },
            {
              "at": "2026-10-22T18:56:28.315Z",
              "msg": "stripe.record_step:in_HZV2FOX5SENPYNC7RR3C0IYH: applied"
            },
            {
              "at": "2026-10-22T18:56:28.316Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T18:56:28.889Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:26.004Z",
          "updatedAt": "2026-10-22T18:56:28.889Z"
        }
      ]
    }
  56. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/repeated_failure_no_second_notice/runs · repeated failure no second notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/repeated_failure_no_second_notice/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:29.630709+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  57. · POST app request /invocations · repeated failure no second notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "repeated-failure-no-second-notice-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_0BNQI4GJ00GOV3LFS2DPBFS0",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "repeated_failure_no_second_notice"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:30.466097+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "381",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "repeated-failure-no-second-notice-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_0BNQI4GJ00GOV3LFS2DPBFS0",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "repeated_failure_no_second_notice"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "repeated-failure-no-second-notice-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "repeated_failure_no_second_notice"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 596
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_0BNQI4GJ00GOV3LFS2DPBFS0: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:29.745Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:30.342Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:30.345Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:30.345Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:29.745Z",
      "updatedAt": "2026-10-22T18:56:30.345Z",
      "duplicate": false
    }
  58. · GET stripe request · provider traffic · /v1/invoices/in_0BNQI4GJ00GOV3LFS2DPBFS0 · HTTP 200 · request 55564191b9b5 · processing 90.05ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_0BNQI4GJ00GOV3LFS2DPBFS0' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 90.05ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 0,
      "amount_overpaid": 0,
      "amount_paid": 0,
      "amount_remaining": 0,
      "amount_shipping": 0,
      "application": null,
      "attempt_count": 0,
      "attempted": false,
      "auto_advance": false,
      "automatic_tax": {
        "enabled": false,
        "disabled_reason": null,
        "liability": null,
        "provider": null,
        "status": null
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695277,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_LJ2IJ2SMNJW4I01A",
      "customer_account": null,
      "customer_address": null,
      "customer_email": "[email protected]",
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [],
      "description": null,
      "discounts": [],
      "due_date": null,
      "effective_at": null,
      "ending_balance": 0,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": null,
      "id": "in_0BNQI4GJ00GOV3LFS2DPBFS0",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/invoices/in_0BNQI4GJ00GOV3LFS2DPBFS0/lines"
      },
      "livemode": false,
      "metadata": {},
      "next_payment_attempt": null,
      "number": "FS-00GOV3LFS2DPBFS0",
      "object": "invoice",
      "on_behalf_of": null,
      "parent": null,
      "payment_settings": {
        "default_mandate": null,
        "payment_method_options": null,
        "payment_method_types": null
      },
      "period_end": 1792695277,
      "period_start": 1792695277,
      "post_payment_credit_notes_amount": 0,
      "pre_payment_credit_notes_amount": 0,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 0,
      "statement_descriptor": null,
      "status": "paid",
      "status_transitions": {
        "finalized_at": 1792695278,
        "paid_at": 1792695278,
        "voided_at": null,
        "marked_uncollectible_at": null
      },
      "subtotal": 0,
      "subtotal_excluding_tax": 0,
      "test_clock": null,
      "total": 0,
      "total_discount_amounts": [],
      "total_excluding_tax": 0,
      "total_pretax_credit_amounts": [],
      "total_taxes": [],
      "webhooks_delivered_at": null
    }
  59. · GET stripe request · provider traffic · /v1/customers/cus_LJ2IJ2SMNJW4I01A · HTTP 200 · request 231f719d2566 · processing 16.37ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_LJ2IJ2SMNJW4I01A' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 16.37ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 22,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_LJ2IJ2SMNJW4I01A",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  60. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request da045787ce0e · processing 2.53ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.53ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  61. · POST app request /invocations · repeated failure no second notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "repeat-b-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_0BNQI4GJ00GOV3LFS2DPBFS0",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "repeated_failure_no_second_notice"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:31.328505+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "356",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "repeat-b-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_0BNQI4GJ00GOV3LFS2DPBFS0",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "repeated_failure_no_second_notice"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "repeat-b-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "repeated_failure_no_second_notice"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 623
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_0BNQI4GJ00GOV3LFS2DPBFS0: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:30.575Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:31.199Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:31.201Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:31.202Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:30.575Z",
      "updatedAt": "2026-10-22T18:56:31.202Z",
      "duplicate": false
    }
  62. · GET stripe request · provider traffic · /v1/invoices/in_0BNQI4GJ00GOV3LFS2DPBFS0 · HTTP 200 · request 41ccd59c8156 · processing 97.44ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_0BNQI4GJ00GOV3LFS2DPBFS0' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 97.44ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 0,
      "amount_overpaid": 0,
      "amount_paid": 0,
      "amount_remaining": 0,
      "amount_shipping": 0,
      "application": null,
      "attempt_count": 0,
      "attempted": false,
      "auto_advance": false,
      "automatic_tax": {
        "enabled": false,
        "disabled_reason": null,
        "liability": null,
        "provider": null,
        "status": null
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695277,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_LJ2IJ2SMNJW4I01A",
      "customer_account": null,
      "customer_address": null,
      "customer_email": "[email protected]",
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [],
      "description": null,
      "discounts": [],
      "due_date": null,
      "effective_at": null,
      "ending_balance": 0,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": null,
      "id": "in_0BNQI4GJ00GOV3LFS2DPBFS0",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/invoices/in_0BNQI4GJ00GOV3LFS2DPBFS0/lines"
      },
      "livemode": false,
      "metadata": {},
      "next_payment_attempt": null,
      "number": "FS-00GOV3LFS2DPBFS0",
      "object": "invoice",
      "on_behalf_of": null,
      "parent": null,
      "payment_settings": {
        "default_mandate": null,
        "payment_method_options": null,
        "payment_method_types": null
      },
      "period_end": 1792695277,
      "period_start": 1792695277,
      "post_payment_credit_notes_amount": 0,
      "pre_payment_credit_notes_amount": 0,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 0,
      "statement_descriptor": null,
      "status": "paid",
      "status_transitions": {
        "finalized_at": 1792695278,
        "paid_at": 1792695278,
        "voided_at": null,
        "marked_uncollectible_at": null
      },
      "subtotal": 0,
      "subtotal_excluding_tax": 0,
      "test_clock": null,
      "total": 0,
      "total_discount_amounts": [],
      "total_excluding_tax": 0,
      "total_pretax_credit_amounts": [],
      "total_taxes": [],
      "webhooks_delivered_at": null
    }
  63. · GET stripe request · provider traffic · /v1/customers/cus_LJ2IJ2SMNJW4I01A · HTTP 200 · request 555a186d7603 · processing 15.99ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_LJ2IJ2SMNJW4I01A' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 15.99ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 22,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_LJ2IJ2SMNJW4I01A",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_chargeCustomerFail"
    }
  64. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request c4db28ecda7b · processing 2.62ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.62ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  65. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/repeated_failure_no_second_notice/runs · repeated failure no second notice · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/repeated_failure_no_second_notice/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:31.684612+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "repeated-failure-no-second-notice-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "repeated_failure_no_second_notice"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 596
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_0BNQI4GJ00GOV3LFS2DPBFS0: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:29.745Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:30.342Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:30.345Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:30.345Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:29.745Z",
          "updatedAt": "2026-10-22T18:56:30.345Z"
        },
        {
          "runId": "repeat-b-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "repeated_failure_no_second_notice"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 623
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_0BNQI4GJ00GOV3LFS2DPBFS0: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:30.575Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:31.199Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:31.201Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:31.202Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:30.575Z",
          "updatedAt": "2026-10-22T18:56:31.202Z"
        }
      ]
    }
  66. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/paid_invoice_contacts_nobody/runs · paid invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/paid_invoice_contacts_nobody/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:31.911486+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  67. · POST app request /invocations · paid invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_OE4FE8TDOME60765PJ9JPR0A",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "paid_invoice_contacts_nobody"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:32.809092+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "371",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_OE4FE8TDOME60765PJ9JPR0A",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "paid_invoice_contacts_nobody"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "paid_invoice_contacts_nobody"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 646
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 1
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_OE4FE8TDOME60765PJ9JPR0A: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:32.037Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:32.685Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:32.688Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:32.689Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T18:56:32.037Z",
      "updatedAt": "2026-10-22T18:56:32.689Z",
      "duplicate": false
    }
  68. · GET stripe request · provider traffic · /v1/invoices/in_OE4FE8TDOME60765PJ9JPR0A · HTTP 200 · request ca6f8e56783f · processing 93.01ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_OE4FE8TDOME60765PJ9JPR0A' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 93.01ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "account_country": null,
      "account_name": "Sample Account",
      "account_tax_ids": null,
      "amount_due": 0,
      "amount_overpaid": 0,
      "amount_paid": 0,
      "amount_remaining": 0,
      "amount_shipping": 0,
      "application": null,
      "attempt_count": 0,
      "attempted": false,
      "auto_advance": false,
      "automatic_tax": {
        "enabled": false,
        "disabled_reason": null,
        "liability": null,
        "provider": null,
        "status": null
      },
      "automatically_finalizes_at": null,
      "billing_reason": "automatic_pending_invoice_item_invoice",
      "collection_method": "charge_automatically",
      "confirmation_secret": "[redacted]",
      "created": 1792695282,
      "currency": "usd",
      "custom_fields": null,
      "customer": "cus_VZJ0DM2HOB9TXRQH",
      "customer_account": null,
      "customer_address": null,
      "customer_email": "[email protected]",
      "customer_name": "Sample Customer",
      "customer_phone": null,
      "customer_shipping": null,
      "customer_tax_exempt": "exempt",
      "customer_tax_ids": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [],
      "description": null,
      "discounts": [],
      "due_date": null,
      "effective_at": null,
      "ending_balance": 0,
      "footer": null,
      "from_invoice": null,
      "hosted_invoice_url": null,
      "id": "in_OE4FE8TDOME60765PJ9JPR0A",
      "invoice_pdf": null,
      "issuer": {
        "type": "account"
      },
      "last_finalization_error": null,
      "latest_revision": null,
      "lines": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/invoices/in_OE4FE8TDOME60765PJ9JPR0A/lines"
      },
      "livemode": false,
      "metadata": {},
      "next_payment_attempt": null,
      "number": "FS-OME60765PJ9JPR0A",
      "object": "invoice",
      "on_behalf_of": null,
      "parent": null,
      "payment_settings": {
        "default_mandate": null,
        "payment_method_options": null,
        "payment_method_types": null
      },
      "period_end": 1792695282,
      "period_start": 1792695282,
      "post_payment_credit_notes_amount": 0,
      "pre_payment_credit_notes_amount": 0,
      "receipt_number": null,
      "rendering": null,
      "shipping_cost": null,
      "shipping_details": null,
      "starting_balance": 0,
      "statement_descriptor": null,
      "status": "paid",
      "status_transitions": {
        "finalized_at": 1792695282,
        "paid_at": 1792695282,
        "voided_at": null,
        "marked_uncollectible_at": null
      },
      "subtotal": 0,
      "subtotal_excluding_tax": 0,
      "test_clock": null,
      "total": 0,
      "total_discount_amounts": [],
      "total_excluding_tax": 0,
      "total_pretax_credit_amounts": [],
      "total_taxes": [],
      "webhooks_delivered_at": null
    }
  69. · GET stripe request · provider traffic · /v1/customers/cus_VZJ0DM2HOB9TXRQH · HTTP 200 · request aaf36a19e55a · processing 15.47ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/customers/cus_VZJ0DM2HOB9TXRQH' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 15.47ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "address": null,
      "balance": 0,
      "business_name": "Sample Business",
      "cash_balance": null,
      "created": 10,
      "currency": "USD",
      "customer_account": null,
      "default_source": null,
      "delinquent": false,
      "description": null,
      "discount": null,
      "email": "[email protected]",
      "id": "cus_VZJ0DM2HOB9TXRQH",
      "individual_name": "Sample Individual",
      "invoice_prefix": null,
      "livemode": false,
      "name": "Dana Billing",
      "object": "customer",
      "phone": "+14155550100",
      "preferred_locales": null,
      "shipping": null,
      "tax_exempt": "exempt",
      "test_clock": null,
      "invoice_settings[default_payment_method]": "pm_card_visa"
    }
  70. · GET stripe request · provider traffic · /v1/payment_methods · HTTP 200 · request f455bd3739da · processing 2.52ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/payment_methods' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.52ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [],
      "has_more": false,
      "object": "list",
      "url": "/v1/payment_methods"
    }
  71. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/paid_invoice_contacts_nobody/runs · paid invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/paid_invoice_contacts_nobody/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:33.192520+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "paid_invoice_contacts_nobody"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 646
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 1
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_OE4FE8TDOME60765PJ9JPR0A: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:32.037Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:32.685Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:32.688Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:32.689Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T18:56:32.037Z",
          "updatedAt": "2026-10-22T18:56:32.689Z"
        }
      ]
    }
  72. · POST app request /invocations · paid invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_OE4FE8TDOME60765PJ9JPR0A",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "paid_invoice_contacts_nobody"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:33.519029+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "371",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_OE4FE8TDOME60765PJ9JPR0A",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "paid_invoice_contacts_nobody"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "paid_invoice_contacts_nobody"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "ok",
          "summary": "1 invoice(s), 0 open",
          "durationMs": 646
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "0 step(s) due",
          "durationMs": 1
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "nothing",
        "invoices": 1,
        "steps": [],
        "skipped": [
          "in_OE4FE8TDOME60765PJ9JPR0A: invoice is paid"
        ]
      },
      "events": [
        {
          "at": "2026-10-22T18:56:32.037Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:32.685Z",
          "msg": "agents: invoice-check=ok"
        },
        {
          "at": "2026-10-22T18:56:32.688Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:32.689Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T18:56:33.291Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:32.037Z",
      "updatedAt": "2026-10-22T18:56:33.291Z",
      "duplicate": true
    }
  73. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/paid_invoice_contacts_nobody/runs · paid invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/paid_invoice_contacts_nobody/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:33.994040+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "paid-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "paid_invoice_contacts_nobody"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "ok",
              "summary": "1 invoice(s), 0 open",
              "durationMs": 646
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "0 step(s) due",
              "durationMs": 1
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "nothing",
            "invoices": 1,
            "steps": [],
            "skipped": [
              "in_OE4FE8TDOME60765PJ9JPR0A: invoice is paid"
            ]
          },
          "events": [
            {
              "at": "2026-10-22T18:56:32.037Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:32.685Z",
              "msg": "agents: invoice-check=ok"
            },
            {
              "at": "2026-10-22T18:56:32.688Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:32.689Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T18:56:33.291Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:32.037Z",
          "updatedAt": "2026-10-22T18:56:33.291Z"
        }
      ]
    }
  74. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/unknown_invoice_contacts_nobody/runs · unknown invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/unknown_invoice_contacts_nobody/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:34.233899+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  75. · POST app request /invocations · unknown invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_doesnotexist0000",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "unknown_invoice_contacts_nobody"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:34.835460+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "369",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_doesnotexist0000",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "unknown_invoice_contacts_nobody"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "unknown_invoice_contacts_nobody"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "failed",
          "error": "stripe 404 resource_missing: GET /v1/invoices/in_doesnotexist0000 → 404 resource_missing",
          "errorCode": "stripe:resource_missing",
          "durationMs": 170
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "blocked: invoices unreadable",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.escalate:blocked",
          "kind": "slack.escalate",
          "provider": "slack",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0BILLING01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17LEMA0B87.HF7QYY",
          "appliedAt": "2026-10-22T18:56:34.706Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "blocked",
        "invoices": 0,
        "steps": [],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:34.349Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:34.522Z",
          "msg": "agents: invoice-check=failed"
        },
        {
          "at": "2026-10-22T18:56:34.524Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:34.706Z",
          "msg": "slack.escalate:blocked: applied"
        },
        {
          "at": "2026-10-22T18:56:34.707Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T18:56:34.349Z",
      "updatedAt": "2026-10-22T18:56:34.707Z",
      "duplicate": false
    }
  76. · GET stripe request · provider traffic · /v1/invoices/in_doesnotexist0000 · HTTP 404 · request f30a061b991c · processing 2.8ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_doesnotexist0000' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.8ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 404

    {
      "error": {
        "type": "invalid_request_error",
        "code": "resource_missing",
        "doc_url": "https://stripe.com/docs/error-codes/resource-missing",
        "message": "Resource in_doesnotexist0000 not found"
      }
    }
  77. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 92c4aeefc693 · processing 12.04ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/e495c5e124/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0BILLING01",
      "text": ":rotating_light: Dunning payment_failed: invoices could not be read; no customer was contacted.",
      "unfurl_links": false,
      "unfurl_media": false
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 12.04ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "172",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/json; charset=utf-8"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0BILLING01",
      "text": ":rotating_light: Dunning payment_failed: invoices could not be read; no customer was contacted.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0BILLING01",
      "message": {
        "bot_id": "bot_b5c05ea7034d42188f6c36c21c",
        "client_msg_id": "cli_272e05e4f4484f40b7ba4468c4",
        "name": "item-fc96d3",
        "old_name": "Sample Old",
        "parent_user_id": "par_6aa768a979f440c684f062e955",
        "permalink": "my-resource",
        "reply_count": 0,
        "reply_users_count": 0,
        "text": "Sample text content",
        "ts": "sample-value",
        "type": "default",
        "unread_count": 0,
        "username": "acme-corp"
      },
      "ok": true,
      "ts": "17LEMA0B87.HF7QYY"
    }
  78. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/unknown_invoice_contacts_nobody/runs · unknown invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/unknown_invoice_contacts_nobody/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:35.173295+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "unknown_invoice_contacts_nobody"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "failed",
              "error": "stripe 404 resource_missing: GET /v1/invoices/in_doesnotexist0000 → 404 resource_missing",
              "errorCode": "stripe:resource_missing",
              "durationMs": 170
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "blocked: invoices unreadable",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.escalate:blocked",
              "kind": "slack.escalate",
              "provider": "slack",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0BILLING01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17LEMA0B87.HF7QYY",
              "appliedAt": "2026-10-22T18:56:34.706Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "blocked",
            "invoices": 0,
            "steps": [],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:34.349Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:34.522Z",
              "msg": "agents: invoice-check=failed"
            },
            {
              "at": "2026-10-22T18:56:34.524Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:34.706Z",
              "msg": "slack.escalate:blocked: applied"
            },
            {
              "at": "2026-10-22T18:56:34.707Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T18:56:34.349Z",
          "updatedAt": "2026-10-22T18:56:34.707Z"
        }
      ]
    }
  79. · POST app request /invocations · unknown invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_doesnotexist0000",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "unknown_invoice_contacts_nobody"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:35.429457+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "369",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_doesnotexist0000",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "unknown_invoice_contacts_nobody"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "unknown_invoice_contacts_nobody"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "failed",
          "error": "stripe 404 resource_missing: GET /v1/invoices/in_doesnotexist0000 → 404 resource_missing",
          "errorCode": "stripe:resource_missing",
          "durationMs": 170
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "blocked: invoices unreadable",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.escalate:blocked",
          "kind": "slack.escalate",
          "provider": "slack",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0BILLING01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17LEMA0B87.HF7QYY",
          "appliedAt": "2026-10-22T18:56:34.706Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "blocked",
        "invoices": 0,
        "steps": [],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:34.349Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:34.522Z",
          "msg": "agents: invoice-check=failed"
        },
        {
          "at": "2026-10-22T18:56:34.524Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:34.706Z",
          "msg": "slack.escalate:blocked: applied"
        },
        {
          "at": "2026-10-22T18:56:34.707Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T18:56:35.291Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:34.349Z",
      "updatedAt": "2026-10-22T18:56:35.291Z",
      "duplicate": true
    }
  80. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/unknown_invoice_contacts_nobody/runs · unknown invoice contacts nobody · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/unknown_invoice_contacts_nobody/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:35.770116+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "unknown-invoice-contacts-nobody-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "unknown_invoice_contacts_nobody"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "failed",
              "error": "stripe 404 resource_missing: GET /v1/invoices/in_doesnotexist0000 → 404 resource_missing",
              "errorCode": "stripe:resource_missing",
              "durationMs": 170
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "blocked: invoices unreadable",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.escalate:blocked",
              "kind": "slack.escalate",
              "provider": "slack",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0BILLING01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17LEMA0B87.HF7QYY",
              "appliedAt": "2026-10-22T18:56:34.706Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "blocked",
            "invoices": 0,
            "steps": [],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:34.349Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:34.522Z",
              "msg": "agents: invoice-check=failed"
            },
            {
              "at": "2026-10-22T18:56:34.524Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:34.706Z",
              "msg": "slack.escalate:blocked: applied"
            },
            {
              "at": "2026-10-22T18:56:34.707Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T18:56:35.291Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:34.349Z",
          "updatedAt": "2026-10-22T18:56:35.291Z"
        }
      ]
    }
  81. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/stripe_auth_failure/runs · stripe auth failure · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/stripe_auth_failure/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:36.035885+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  82. · POST app request /invocations · stripe auth failure · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_J0ZXEQDTWMVHKUYO1F0Z884W",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "stripe_auth_failure"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:36.689460+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "353",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_J0ZXEQDTWMVHKUYO1F0Z884W",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "stripe_auth_failure"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "stripe_auth_failure"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "invoice-check",
          "status": "failed",
          "error": "stripe 401 authentication_required: GET /v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W → 401 authentication_required",
          "errorCode": "stripe:authentication_required",
          "durationMs": 172
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "blocked: invoices unreadable",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.escalate:blocked",
          "kind": "slack.escalate",
          "provider": "slack",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0BILLING01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17FCZ1GKQY.0G9QXV",
          "appliedAt": "2026-10-22T18:56:36.564Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "blocked",
        "invoices": 0,
        "steps": [],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:36.146Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:36.320Z",
          "msg": "agents: invoice-check=failed"
        },
        {
          "at": "2026-10-22T18:56:36.323Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:36.564Z",
          "msg": "slack.escalate:blocked: applied"
        },
        {
          "at": "2026-10-22T18:56:36.565Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T18:56:36.146Z",
      "updatedAt": "2026-10-22T18:56:36.565Z",
      "duplicate": false
    }
  83. · GET stripe request · stripe auth failure · /v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W · HTTP 401 · processing 2.19ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 2.19ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 401

    {
      "error": {
        "type": "invalid_request_error",
        "code": "authentication_required",
        "doc_url": "https://stripe.com/docs/error-codes/authentication-required",
        "message": "Invalid API key provided. You did not provide a valid API key. Ensure your Authorization header contains a valid Bearer token."
      }
    }
  84. · GET stripe request · provider traffic · /v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W · HTTP 401 · request 1ec610df4f43 · processing 2.19ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/198897286c/v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 2.19ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 401

    {
      "error": {
        "type": "invalid_request_error",
        "code": "authentication_required",
        "doc_url": "https://stripe.com/docs/error-codes/authentication-required",
        "message": "Invalid API key provided. You did not provide a valid API key. Ensure your Authorization header contains a valid Bearer token."
      }
    }
  85. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request c938e784a7bc · processing 13.57ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/e495c5e124/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0BILLING01",
      "text": ":rotating_light: Dunning payment_failed: invoices could not be read; no customer was contacted.",
      "unfurl_links": false,
      "unfurl_media": false
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 13.57ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "172",
      "user-agent": "node",
      "accept": "application/json",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "content-type": "application/json; charset=utf-8"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0BILLING01",
      "text": ":rotating_light: Dunning payment_failed: invoices could not be read; no customer was contacted.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0BILLING01",
      "message": {
        "bot_id": "bot_8b350f54a78749d6b50183e96c",
        "client_msg_id": "cli_0ff95ea841b34493a39946a2b9",
        "name": "item-d915ad",
        "old_name": "Sample Old",
        "parent_user_id": "par_6b7b0bbd2b56491e99484e8ee0",
        "permalink": "my-resource",
        "reply_count": 0,
        "reply_users_count": 0,
        "text": "Sample text content",
        "ts": "sample-value",
        "type": "default",
        "unread_count": 0,
        "username": "acme-corp"
      },
      "ok": true,
      "ts": "17FCZ1GKQY.0G9QXV"
    }
  86. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/stripe_auth_failure/runs · stripe auth failure · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/stripe_auth_failure/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:37.012003+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "stripe_auth_failure"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "invoice-check",
              "status": "failed",
              "error": "stripe 401 authentication_required: GET /v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W → 401 authentication_required",
              "errorCode": "stripe:authentication_required",
              "durationMs": 172
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "blocked: invoices unreadable",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.escalate:blocked",
              "kind": "slack.escalate",
              "provider": "slack",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0BILLING01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17FCZ1GKQY.0G9QXV",
              "appliedAt": "2026-10-22T18:56:36.564Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "blocked",
            "invoices": 0,
            "steps": [],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:36.146Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:36.320Z",
              "msg": "agents: invoice-check=failed"
            },
            {
              "at": "2026-10-22T18:56:36.323Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:36.564Z",
              "msg": "slack.escalate:blocked: applied"
            },
            {
              "at": "2026-10-22T18:56:36.565Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T18:56:36.146Z",
          "updatedAt": "2026-10-22T18:56:36.565Z"
        }
      ]
    }
  87. · POST app request /invocations · stripe auth failure · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_J0ZXEQDTWMVHKUYO1F0Z884W",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "stripe_auth_failure"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:37.245362+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "353",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "in_J0ZXEQDTWMVHKUYO1F0Z884W",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "stripe_auth_failure"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
      "workflow": "failed-payment-dunning",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "billing-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "stripe_auth_failure"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "invoice-check",
          "status": "failed",
          "error": "stripe 401 authentication_required: GET /v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W → 401 authentication_required",
          "errorCode": "stripe:authentication_required",
          "durationMs": 172
        },
        {
          "name": "dunning-plan",
          "status": "ok",
          "summary": "blocked: invoices unreadable",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.escalate:blocked",
          "kind": "slack.escalate",
          "provider": "slack",
          "agent": "dunning-plan",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0BILLING01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17FCZ1GKQY.0G9QXV",
          "appliedAt": "2026-10-22T18:56:36.564Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "mode": "blocked",
        "invoices": 0,
        "steps": [],
        "skipped": []
      },
      "events": [
        {
          "at": "2026-10-22T18:56:36.146Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T18:56:36.320Z",
          "msg": "agents: invoice-check=failed"
        },
        {
          "at": "2026-10-22T18:56:36.323Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T18:56:36.564Z",
          "msg": "slack.escalate:blocked: applied"
        },
        {
          "at": "2026-10-22T18:56:36.565Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T18:56:37.120Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T18:56:36.146Z",
      "updatedAt": "2026-10-22T18:56:37.120Z",
      "duplicate": true
    }
  88. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/stripe_auth_failure/runs · stripe auth failure · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/stripe_auth_failure/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:37.575731+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "stripe-auth-failure-vr_243352f82fcf4575922b792da8a81865",
          "workflow": "failed-payment-dunning",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "billing-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_243352f82fcf4575922b792da8a81865",
            "fs_case": "stripe_auth_failure"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "invoice-check",
              "status": "failed",
              "error": "stripe 401 authentication_required: GET /v1/invoices/in_J0ZXEQDTWMVHKUYO1F0Z884W → 401 authentication_required",
              "errorCode": "stripe:authentication_required",
              "durationMs": 172
            },
            {
              "name": "dunning-plan",
              "status": "ok",
              "summary": "blocked: invoices unreadable",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.escalate:blocked",
              "kind": "slack.escalate",
              "provider": "slack",
              "agent": "dunning-plan",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0BILLING01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17FCZ1GKQY.0G9QXV",
              "appliedAt": "2026-10-22T18:56:36.564Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "mode": "blocked",
            "invoices": 0,
            "steps": [],
            "skipped": []
          },
          "events": [
            {
              "at": "2026-10-22T18:56:36.146Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T18:56:36.320Z",
              "msg": "agents: invoice-check=failed"
            },
            {
              "at": "2026-10-22T18:56:36.323Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T18:56:36.564Z",
              "msg": "slack.escalate:blocked: applied"
            },
            {
              "at": "2026-10-22T18:56:36.565Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T18:56:37.120Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T18:56:36.146Z",
          "updatedAt": "2026-10-22T18:56:37.120Z"
        }
      ]
    }
  89. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/invalid_input_rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:37.803051+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  90. · POST app request /invocations · invalid input rejected · HTTP 400
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "invalid-input-rejected-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "ch_123",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "invalid_input_rejected"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:38.044603+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "338",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "96"
    }

    Request body

    {
      "action": "start",
      "runId": "invalid-input-rejected-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "ch_123",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "invalid_input_rejected"
      }
    }

    Recorded response · HTTP 400

    {
      "error": "invalid input",
      "issues": [
        "invoiceId: Invalid string: must match pattern /^in_\\w+$/"
      ]
    }
  91. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/invalid_input_rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:38.401275+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  92. · POST app request /invocations · invalid input rejected · HTTP 400
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "invalid-input-rejected-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "ch_123",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "invalid_input_rejected"
      }
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:38.641967+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "338",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "96"
    }

    Request body

    {
      "action": "start",
      "runId": "invalid-input-rejected-vr_243352f82fcf4575922b792da8a81865",
      "input": {
        "stage": "payment_failed",
        "invoiceId": "ch_123",
        "financeChannel": "C0BILLING01",
        "approvers": [
          "U_CONTROLLER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_243352f82fcf4575922b792da8a81865",
        "fs_case": "invalid_input_rejected"
      }
    }

    Recorded response · HTTP 400

    {
      "error": "invalid input",
      "issues": [
        "invoiceId: Invalid string: must match pattern /^in_\\w+$/"
      ]
    }
  93. · GET app request /verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/48a28d132f73a90e2899f2ea26280aad876c21feed47bbe4/verify/runs/vr_243352f82fcf4575922b792da8a81865/cases/invalid_input_rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_243352f82fcf4575922b792da8a81865' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL recorded at execution. Response finished: 2026-10-22T18:56:38.973679+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_243352f82fcf4575922b792da8a81865",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }

Expand a request to inspect its sanitized payload. Credentials and personal data stay hidden.

Timestamps reflect when the sandbox recorded each request, not the order your app triggered them.

  • Verification covers the declared HTTP actions and state reads in this run.
  • The app version shown was supplied by the app itself, not independently checked.
  • Passing all checks in this run does not certify the whole app as production-ready.
  • The verifier session does not survive a restart. This says nothing about the durability of the app under test.
  • App state shown here is what the app's own endpoint reported. It is not independently checked against the database.

Sanitized summary. Expand a timeline event to inspect the safe request and response fields; sensitive provider and application data stays hidden.