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.

4 / 10

Failing

4Passed5Failed1Not 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

An AP batch posts its outcome to the AP channel

baseline
Passed

What we probed

An AP batch posts its outcome to the AP channel

How we probed it

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

  1. POST /invocations

Expected vs actual

Expected
An AP batch posts its outcome to the AP channel
Actual
expected exactly 1, found 1; stable under 2 repeats (1)

Requests and responses

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

GET /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json",
  "content-length": "11"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
  --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_fbd12df7d3c54163a3711aaf0af39176",
  "input": {
    "batchId": "AP-baseline",
    "billIds": [
      "11",
      "12",
      "13",
      "14"
    ],
    "apChannel": "C0FINANCE01",
    "approvers": [
      "U_AP_LEAD",
      "U_AP_CLERK"
    ],
    "buyers": [
      "U_BUYER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
    "fs_case": "baseline"
  }
}
Server returned

HTTP 200

{
  "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
  "workflow": "invoice-three-way-match",
  "metadata": {
    "organization": "Acme",
    "company": "Acme Corporation",
    "environment": "unconfigured",
    "owner": "unassigned",
    "department": "unassigned",
    "ownerTeam": "unassigned",
    "oncall": "unassigned",
    "version": "unversioned",
    "sourceCommit": "unrecorded"
  },
  "org": "Finance",
  "team": "accounts-payable",
  "phase": "DONE",
  "closed": true,
  "outcome": "ok",
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
    "fs_case": "baseline"
  },
  "duplicateStarts": 0,
  "agents": [
    {
      "name": "match-engine",
      "status": "skipped",
      "error": "not configured: netsuite",
      "errorCode": "not_configured",
      "durationMs": 0
    }
  ],
  "actions": [
    {
      "id": "slack.post_batch",
      "kind": "slack.post_batch",
      "provider": "slack",
      "agent": "match-engine",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "channel": "C0FINANCE01",
        "blocked": true
      },
      "attempts": 1,
      "ref": "179YXXRG5Y.KUM6OA",
      "appliedAt": "2026-10-22T19:06:22.684Z",
      "reconciled": null
    }
  ],
  "counts": {
    "applied": 1,
    "failed": 0,
    "pendingApproval": 0,
    "skipped": 0,
    "rejected": 0,
    "scheduled": 0,
    "awaitingSignal": 0,
    "compensated": 0
  },
  "wakeAt": null,
  "audit": {
    "seq": 4,
    "head": "92371fd31fded8a3752b5be3db9e4e770771267c4b4c38046a2f429318d7bf2e"
  },
  "output": {
    "mode": "blocked"
  },
  "events": [
    {
      "at": "2026-10-22T19:06:22.476Z",
      "msg": "started by U_FETCHSANDBOX"
    },
    {
      "at": "2026-10-22T19:06:22.478Z",
      "msg": "agents: match-engine=skipped"
    },
    {
      "at": "2026-10-22T19:06:22.481Z",
      "msg": "planned 1 action(s): 0 need approval"
    },
    {
      "at": "2026-10-22T19:06:22.685Z",
      "msg": "slack.post_batch: applied"
    },
    {
      "at": "2026-10-22T19:06:22.686Z",
      "msg": "done (ok)"
    }
  ],
  "createdAt": "2026-10-22T19:06:22.476Z",
  "updatedAt": "2026-10-22T19:06:22.686Z",
  "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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]",
  "content-length": "346",
  "content-type": "application/json"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]' \
  --header 'content-type: application/json' \
  --data-raw '{
  "action": "start",
  "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
  "input": {
    "batchId": "AP-baseline",
    "billIds": [
      "11",
      "12",
      "13",
      "14"
    ],
    "apChannel": "C0FINANCE01",
    "approvers": [
      "U_AP_LEAD",
      "U_AP_CLERK"
    ],
    "buyers": [
      "U_BUYER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
    "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_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs200
We sent

GET /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs

This request had no body.

Server returned

HTTP 200

{
  "runs": [
    {
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "179YXXRG5Y.KUM6OA",
          "appliedAt": "2026-10-22T19:06:22.684Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "92371fd31fded8a3752b5be3db9e4e770771267c4b4c38046a2f429318d7bf2e"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:22.476Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:22.478Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:22.481Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:22.685Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:22.686Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:22.476Z",
      "updatedAt": "2026-10-22T19:06:22.686Z"
    }
  ]
}

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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
  --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_fbd12df7d3c54163a3711aaf0af39176",
  "input": {
    "batchId": "AP-baseline",
    "billIds": [
      "11",
      "12",
      "13",
      "14"
    ],
    "apChannel": "C0FINANCE01",
    "approvers": [
      "U_AP_LEAD",
      "U_AP_CLERK"
    ],
    "buyers": [
      "U_BUYER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
    "fs_case": "baseline"
  }
}
Server returned

HTTP 200

{
  "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
  "workflow": "invoice-three-way-match",
  "metadata": {
    "organization": "Acme",
    "company": "Acme Corporation",
    "environment": "unconfigured",
    "owner": "unassigned",
    "department": "unassigned",
    "ownerTeam": "unassigned",
    "oncall": "unassigned",
    "version": "unversioned",
    "sourceCommit": "unrecorded"
  },
  "org": "Finance",
  "team": "accounts-payable",
  "phase": "DONE",
  "closed": true,
  "outcome": "ok",
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
    "fs_case": "baseline"
  },
  "duplicateStarts": 1,
  "agents": [
    {
      "name": "match-engine",
      "status": "skipped",
      "error": "not configured: netsuite",
      "errorCode": "not_configured",
      "durationMs": 0
    }
  ],
  "actions": [
    {
      "id": "slack.post_batch",
      "kind": "slack.post_batch",
      "provider": "slack",
      "agent": "match-engine",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "channel": "C0FINANCE01",
        "blocked": true
      },
      "attempts": 1,
      "ref": "179YXXRG5Y.KUM6OA",
      "appliedAt": "2026-10-22T19:06:22.684Z",
      "reconciled": null
    }
  ],
  "counts": {
    "applied": 1,
    "failed": 0,
    "pendingApproval": 0,
    "skipped": 0,
    "rejected": 0,
    "scheduled": 0,
    "awaitingSignal": 0,
    "compensated": 0
  },
  "wakeAt": null,
  "audit": {
    "seq": 5,
    "head": "4e944d01a6461d69712a439c3fb852716f28180f7d2fe7f8e6542ac65888f920"
  },
  "output": {
    "mode": "blocked"
  },
  "events": [
    {
      "at": "2026-10-22T19:06:22.476Z",
      "msg": "started by U_FETCHSANDBOX"
    },
    {
      "at": "2026-10-22T19:06:22.478Z",
      "msg": "agents: match-engine=skipped"
    },
    {
      "at": "2026-10-22T19:06:22.481Z",
      "msg": "planned 1 action(s): 0 need approval"
    },
    {
      "at": "2026-10-22T19:06:22.685Z",
      "msg": "slack.post_batch: applied"
    },
    {
      "at": "2026-10-22T19:06:22.686Z",
      "msg": "done (ok)"
    },
    {
      "at": "2026-10-22T19:06:23.297Z",
      "msg": "duplicate start ignored"
    }
  ],
  "createdAt": "2026-10-22T19:06:22.476Z",
  "updatedAt": "2026-10-22T19:06:23.297Z",
  "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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]",
  "content-length": "346",
  "content-type": "application/json"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]' \
  --header 'content-type: application/json' \
  --data-raw '{
  "action": "start",
  "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
  "input": {
    "batchId": "AP-baseline",
    "billIds": [
      "11",
      "12",
      "13",
      "14"
    ],
    "apChannel": "C0FINANCE01",
    "approvers": [
      "U_AP_LEAD",
      "U_AP_CLERK"
    ],
    "buyers": [
      "U_BUYER"
    ]
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
    "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_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs200
We sent

GET /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs

This request had no body.

Server returned

HTTP 200

{
  "runs": [
    {
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "179YXXRG5Y.KUM6OA",
          "appliedAt": "2026-10-22T19:06:22.684Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "4e944d01a6461d69712a439c3fb852716f28180f7d2fe7f8e6542ac65888f920"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:22.476Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:22.478Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:22.481Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:22.685Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:22.686Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:23.297Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:22.476Z",
      "updatedAt": "2026-10-22T19:06:23.297Z"
    }
  ]
}

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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
  --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_fbd12df7d3c54163a3711aaf0af39176
App version (declared)
acme-ops-invoice-three-way-m…
Source receipt
Source receipt ↗
Technical referencebaseline

App version (declared): acme-ops-invoice-three-way-match-1.0.0-4ac41d8

An AP batch posts its outcome to the AP channel

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 (1)

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.

slack · POST /api/chat.postMessage · HTTP 200
We sent

POST /api/chat.postMessage

{
  "channel": "C0FINANCE01",
  "text": ":rotating_light: AP-baseline: bills could not be read; nothing was approved.",
  "unfurl_links": false,
  "unfurl_media": false
}
Server returned

HTTP 200

{
  "channel": "C0FINANCE01",
  "message": {
    "bot_id": "bot_2e3208ad64844196b3950e8722",
    "client_msg_id": "cli_b764fc8c31f54ce9bf00788865",
    "name": "item-0f37c8",
    "old_name": "Sample Old",
    "parent_user_id": "par_625304a34628465fb18c5a0e7d",
    "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": "179YXXRG5Y.KUM6OA"
}

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/5a2eacd142/api/chat.postMessage

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

Response headers were not saved in this run.

Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
  --header 'content-type: application/json; charset=utf-8' \
  --data-raw '{
  "channel": "C0FINANCE01",
  "text": ":rotating_light: AP-baseline: bills could not be read; nothing was approved.",
  "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.

Run details

Run vr_fbd12df7d3c54163a3711aaf0af39176

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

4 passed · 5 failed · 1 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 · Not checked · entering_clerk_cannot_approve
  • Valid data and boundary values · Linked checks passed · invalid_input_rejected
  • Correct amount, currency and quantity · Linked check failed · variance_needs_ap_approval, over_billed_held
  • Duplicate requests and events · Linked check failed · duplicate_never_approved
  • Requests arriving together · Proposed as not applicable
  • Out-of-order and stale events · Proposed as not applicable
  • Delayed or missing events · Proposed as not applicable
  • Provider authentication and permissions · Linked checks passed · erp_unreadable_approves_nothing
  • Rate limits, server failures and timeouts · Linked checks passed · slack_rate_limited
  • Completed action with a lost response · Proposed as not applicable
  • Partial completion and recovery · Proposed as not applicable
  • 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 · clean_match_auto_approved, over_billed_held
  • 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-invoice-three-way-match-1.0.0-4ac41d8 (declared)

Measured run: 2026-10-22T19:06:22.061671+00:00 – 2026-10-22T19:06:46.166065+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: 53/62 successful · checkpoints: 9/10 recorded

Why checks are unmeasured

  • entering_clerk_cannot_approve: app action expected HTTP 403, received 404
Sanitized request and event timeline (62 events)
  1. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:22.324384+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-baseline",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "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-22T19:06:22.821827+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-baseline",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "179YXXRG5Y.KUM6OA",
          "appliedAt": "2026-10-22T19:06:22.684Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "92371fd31fded8a3752b5be3db9e4e770771267c4b4c38046a2f429318d7bf2e"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:22.476Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:22.478Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:22.481Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:22.685Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:22.686Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:22.476Z",
      "updatedAt": "2026-10-22T19:06:22.686Z",
      "duplicate": false
    }
  3. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 6a674d337c3a · processing 11.86ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-baseline: bills could not be read; nothing was approved.",
      "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: 11.86ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-baseline: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_2e3208ad64844196b3950e8722",
        "client_msg_id": "cli_b764fc8c31f54ce9bf00788865",
        "name": "item-0f37c8",
        "old_name": "Sample Old",
        "parent_user_id": "par_625304a34628465fb18c5a0e7d",
        "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": "179YXXRG5Y.KUM6OA"
    }
  4. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:23.183841+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "baseline"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "179YXXRG5Y.KUM6OA",
              "appliedAt": "2026-10-22T19:06:22.684Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "92371fd31fded8a3752b5be3db9e4e770771267c4b4c38046a2f429318d7bf2e"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:22.476Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:22.478Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:22.481Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:22.685Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:22.686Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T19:06:22.476Z",
          "updatedAt": "2026-10-22T19:06:22.686Z"
        }
      ]
    }
  5. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-baseline",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "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-22T19:06:23.445761+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-baseline",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "179YXXRG5Y.KUM6OA",
          "appliedAt": "2026-10-22T19:06:22.684Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "4e944d01a6461d69712a439c3fb852716f28180f7d2fe7f8e6542ac65888f920"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:22.476Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:22.478Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:22.481Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:22.685Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:22.686Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:23.297Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:22.476Z",
      "updatedAt": "2026-10-22T19:06:23.297Z",
      "duplicate": true
    }
  6. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:23.824707+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "baseline"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "179YXXRG5Y.KUM6OA",
              "appliedAt": "2026-10-22T19:06:22.684Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "4e944d01a6461d69712a439c3fb852716f28180f7d2fe7f8e6542ac65888f920"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:22.476Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:22.478Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:22.481Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:22.685Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:22.686Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T19:06:23.297Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:22.476Z",
          "updatedAt": "2026-10-22T19:06:23.297Z"
        }
      ]
    }
  7. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/bills_read_from_erp/runs · bills read from erp · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/bills_read_from_erp/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:24.085734+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  8. · POST app request /invocations · bills read from erp · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-bills-read-from-erp",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "bills_read_from_erp"
      }
    }'

    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-22T19:06:24.564209+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-bills-read-from-erp",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "bills_read_from_erp"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "bills_read_from_erp"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17VPMJ4SXI.1CEVLF",
          "appliedAt": "2026-10-22T19:06:24.413Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "64a7148e997791b70b94fb7e0376fe61a08713fa949cfc8e887502faa49c680b"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:24.199Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:24.200Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:24.202Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:24.414Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:24.415Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:24.199Z",
      "updatedAt": "2026-10-22T19:06:24.416Z",
      "duplicate": false
    }
  9. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 975012132df4 · processing 13.83ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-bills-read-from-erp: bills could not be read; nothing was approved.",
      "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.83ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-bills-read-from-erp: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_b8e8665d4ec748729f9417d37d",
        "client_msg_id": "cli_e763c2c8d17b4d53a34c2a53d8",
        "name": "item-b32a52",
        "old_name": "Sample Old",
        "parent_user_id": "par_86dc4bd5f094488eb4a962c4f5",
        "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": "17VPMJ4SXI.1CEVLF"
    }
  10. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/bills_read_from_erp/runs · bills read from erp · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/bills_read_from_erp/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:24.916245+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "bills_read_from_erp"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17VPMJ4SXI.1CEVLF",
              "appliedAt": "2026-10-22T19:06:24.413Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "64a7148e997791b70b94fb7e0376fe61a08713fa949cfc8e887502faa49c680b"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:24.199Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:24.200Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:24.202Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:24.414Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:24.415Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T19:06:24.199Z",
          "updatedAt": "2026-10-22T19:06:24.416Z"
        }
      ]
    }
  11. · POST app request /invocations · bills read from erp · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-bills-read-from-erp",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "bills_read_from_erp"
      }
    }'

    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-22T19:06:25.166776+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-bills-read-from-erp",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "bills_read_from_erp"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "bills_read_from_erp"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17VPMJ4SXI.1CEVLF",
          "appliedAt": "2026-10-22T19:06:24.413Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "de767ddde2c4e0d34ca2e03ac769c91d3682293a75f0804895a1e952f24945da"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:24.199Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:24.200Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:24.202Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:24.414Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:24.415Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:25.028Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:24.199Z",
      "updatedAt": "2026-10-22T19:06:25.028Z",
      "duplicate": true
    }
  12. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/bills_read_from_erp/runs · bills read from erp · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/bills_read_from_erp/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:25.519007+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "bills-read-from-erp-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "bills_read_from_erp"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17VPMJ4SXI.1CEVLF",
              "appliedAt": "2026-10-22T19:06:24.413Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "de767ddde2c4e0d34ca2e03ac769c91d3682293a75f0804895a1e952f24945da"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:24.199Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:24.200Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:24.202Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:24.414Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:24.415Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T19:06:25.028Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:24.199Z",
          "updatedAt": "2026-10-22T19:06:25.028Z"
        }
      ]
    }
  13. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/clean_match_auto_approved/runs · clean match auto approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/clean_match_auto_approved/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:25.792850+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  14. · POST app request /invocations · clean match auto approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-clean-match-auto-approved",
        "billIds": [
          "11"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "clean_match_auto_approved"
      }
    }'

    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-22T19:06:26.226704+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-clean-match-auto-approved",
        "billIds": [
          "11"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "clean_match_auto_approved"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "clean_match_auto_approved"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17G6QIUBUX.HKL8RR",
          "appliedAt": "2026-10-22T19:06:26.089Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "8f1d5821c777d3f6aaab82db667e49584d07e8e6ce7b62daef2138e9125c71bd"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:25.897Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:25.899Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:25.901Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:26.089Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:26.092Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:25.897Z",
      "updatedAt": "2026-10-22T19:06:26.092Z",
      "duplicate": false
    }
  15. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 7e8fc033dc67 · processing 15.41ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-clean-match-auto-approved: bills could not be read; nothing was approved.",
      "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: 15.41ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-clean-match-auto-approved: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_4038bd7c6baa4a059fae20783c",
        "client_msg_id": "cli_7071ac712c4b47eea7e00e2472",
        "name": "item-83c509",
        "old_name": "Sample Old",
        "parent_user_id": "par_af9ecebf5d824a339c476bf1e8",
        "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": "17G6QIUBUX.HKL8RR"
    }
  16. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/clean_match_auto_approved/runs · clean match auto approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/clean_match_auto_approved/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:26.604784+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "clean_match_auto_approved"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17G6QIUBUX.HKL8RR",
              "appliedAt": "2026-10-22T19:06:26.089Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "8f1d5821c777d3f6aaab82db667e49584d07e8e6ce7b62daef2138e9125c71bd"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:25.897Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:25.899Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:25.901Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:26.089Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:26.092Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T19:06:25.897Z",
          "updatedAt": "2026-10-22T19:06:26.092Z"
        }
      ]
    }
  17. · POST app request /invocations · clean match auto approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-clean-match-auto-approved",
        "billIds": [
          "11"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "clean_match_auto_approved"
      }
    }'

    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-22T19:06:26.862733+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-clean-match-auto-approved",
        "billIds": [
          "11"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "clean_match_auto_approved"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "clean_match_auto_approved"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17G6QIUBUX.HKL8RR",
          "appliedAt": "2026-10-22T19:06:26.089Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "3329a066fcf371d07e5343851428405bfbdddf9ec302a622fd9be8815408bbf3"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:25.897Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:25.899Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:25.901Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:26.089Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:26.092Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:26.717Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:25.897Z",
      "updatedAt": "2026-10-22T19:06:26.717Z",
      "duplicate": true
    }
  18. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/clean_match_auto_approved/runs · clean match auto approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/clean_match_auto_approved/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:27.207447+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "clean-match-auto-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "clean_match_auto_approved"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17G6QIUBUX.HKL8RR",
              "appliedAt": "2026-10-22T19:06:26.089Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "3329a066fcf371d07e5343851428405bfbdddf9ec302a622fd9be8815408bbf3"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:25.897Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:25.899Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:25.901Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:26.089Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:26.092Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T19:06:26.717Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:25.897Z",
          "updatedAt": "2026-10-22T19:06:26.717Z"
        }
      ]
    }
  19. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/variance_needs_ap_approval/runs · variance needs ap approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/variance_needs_ap_approval/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:27.459487+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  20. · POST app request /invocations · variance needs ap approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-variance-needs-ap-approval",
        "billIds": [
          "12"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "variance_needs_ap_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-22T19:06:27.917272+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-variance-needs-ap-approval",
        "billIds": [
          "12"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "variance_needs_ap_approval"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "variance_needs_ap_approval"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17XRLJK7UL.44ET6X",
          "appliedAt": "2026-10-22T19:06:27.765Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "f06601a447ca18e1e52ad6c4628f1af24bcf3eeaa16695e397e862405ca30479"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:27.569Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:27.570Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:27.573Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:27.765Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:27.767Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:27.569Z",
      "updatedAt": "2026-10-22T19:06:27.767Z",
      "duplicate": false
    }
  21. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 244f6eda7fd2 · processing 13.94ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-variance-needs-ap-approval: bills could not be read; nothing was approved.",
      "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.94ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-variance-needs-ap-approval: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_649e164c487a440bbbcc57bfe7",
        "client_msg_id": "cli_f9520bd6ec814131912740ff21",
        "name": "item-3266d7",
        "old_name": "Sample Old",
        "parent_user_id": "par_c873259e2e9441649dbc25f0c5",
        "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": "17XRLJK7UL.44ET6X"
    }
  22. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/variance_needs_ap_approval/runs · variance needs ap approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/variance_needs_ap_approval/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:28.260523+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "variance_needs_ap_approval"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17XRLJK7UL.44ET6X",
              "appliedAt": "2026-10-22T19:06:27.765Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "f06601a447ca18e1e52ad6c4628f1af24bcf3eeaa16695e397e862405ca30479"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:27.569Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:27.570Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:27.573Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:27.765Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:27.767Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T19:06:27.569Z",
          "updatedAt": "2026-10-22T19:06:27.767Z"
        }
      ]
    }
  23. · POST app request /invocations · variance needs ap approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-variance-needs-ap-approval",
        "billIds": [
          "12"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "variance_needs_ap_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-22T19:06:28.517544+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-variance-needs-ap-approval",
        "billIds": [
          "12"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "variance_needs_ap_approval"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "variance_needs_ap_approval"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17XRLJK7UL.44ET6X",
          "appliedAt": "2026-10-22T19:06:27.765Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "a881370348612c6ad0bf66291d707df0a1a3d4ebe915493aeea81b583a085366"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:27.569Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:27.570Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:27.573Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:27.765Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:27.767Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:28.371Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:27.569Z",
      "updatedAt": "2026-10-22T19:06:28.371Z",
      "duplicate": true
    }
  24. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/variance_needs_ap_approval/runs · variance needs ap approval · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/variance_needs_ap_approval/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:28.866913+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "variance-needs-ap-approval-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "variance_needs_ap_approval"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17XRLJK7UL.44ET6X",
              "appliedAt": "2026-10-22T19:06:27.765Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "a881370348612c6ad0bf66291d707df0a1a3d4ebe915493aeea81b583a085366"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:27.569Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:27.570Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:27.573Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:27.765Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:27.767Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T19:06:28.371Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:27.569Z",
          "updatedAt": "2026-10-22T19:06:28.371Z"
        }
      ]
    }
  25. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/entering_clerk_cannot_approve/runs · entering clerk cannot approve · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/entering_clerk_cannot_approve/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:29.111317+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  26. · POST app request /invocations · entering clerk cannot approve · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "entering-clerk-cannot-approve-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-entering-clerk-cannot-approve",
        "billIds": [
          "12"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "entering_clerk_cannot_approve"
      }
    }'

    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-22T19:06:29.562587+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "entering-clerk-cannot-approve-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-entering-clerk-cannot-approve",
        "billIds": [
          "12"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "entering_clerk_cannot_approve"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "entering-clerk-cannot-approve-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "entering_clerk_cannot_approve"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "172XYNQSHX.LPURFN",
          "appliedAt": "2026-10-22T19:06:29.414Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "8fd2bee16d1c0d65463b19c7213867a961839ffab4b0415e797d621bf17140ce"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:29.231Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:29.232Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:29.235Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:29.415Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:29.417Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:29.231Z",
      "updatedAt": "2026-10-22T19:06:29.417Z",
      "duplicate": false
    }
  27. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request c02d5ffd1ef2 · processing 14.03ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-entering-clerk-cannot-approve: bills could not be read; nothing was approved.",
      "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: 14.03ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-entering-clerk-cannot-approve: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_b1c6947d802942c5ab68a3f0d5",
        "client_msg_id": "cli_2246020c0a1441b2b8f696e4f1",
        "name": "item-6f892b",
        "old_name": "Sample Old",
        "parent_user_id": "par_08914d1a7a0e4a49b20a46befe",
        "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": "172XYNQSHX.LPURFN"
    }
  28. · POST app request /invocations · entering clerk cannot approve · HTTP 404
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "signal",
      "runId": "entering-clerk-cannot-approve-vr_fbd12df7d3c54163a3711aaf0af39176",
      "actionId": "netsuite.approve_bill:12",
      "value": "approve",
      "userId": "U_AP_CLERK"
    }'

    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-22T19:06:29.820142+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "signal",
      "runId": "entering-clerk-cannot-approve-vr_fbd12df7d3c54163a3711aaf0af39176",
      "actionId": "netsuite.approve_bill:12",
      "value": "approve",
      "userId": "U_AP_CLERK"
    }

    Recorded response · HTTP 404

    {
      "result": "no_such_signal",
      "runId": "entering-clerk-cannot-approve-vr_fbd12df7d3c54163a3711aaf0af39176",
      "actionId": "netsuite.approve_bill:12"
    }
  29. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/over_billed_held/runs · over billed held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/over_billed_held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:30.090956+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  30. · POST app request /invocations · over billed held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-over-billed-held",
        "billIds": [
          "13"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "over_billed_held"
      }
    }'

    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-22T19:06:30.524159+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-over-billed-held",
        "billIds": [
          "13"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "over_billed_held"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "over_billed_held"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "172RSHEFWK.1EA605",
          "appliedAt": "2026-10-22T19:06:30.392Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "7665194e3a67c12ce0125edcb26df647cd0ff2aded8796c06c85506f393fd818"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:30.213Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:30.214Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:30.216Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:30.392Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:30.394Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:30.213Z",
      "updatedAt": "2026-10-22T19:06:30.394Z",
      "duplicate": false
    }
  31. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request a6a680afb1b9 · processing 14.45ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-over-billed-held: bills could not be read; nothing was approved.",
      "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: 14.45ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-over-billed-held: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_03b2ca2d0ed24e1aaa95767ac7",
        "client_msg_id": "cli_c4ed5e9e761e4786bdb52df78f",
        "name": "item-fc22c6",
        "old_name": "Sample Old",
        "parent_user_id": "par_a008cc4f555a48dbb8076b0d37",
        "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": "172RSHEFWK.1EA605"
    }
  32. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/over_billed_held/runs · over billed held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/over_billed_held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:30.870898+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "over_billed_held"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "172RSHEFWK.1EA605",
              "appliedAt": "2026-10-22T19:06:30.392Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "7665194e3a67c12ce0125edcb26df647cd0ff2aded8796c06c85506f393fd818"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:30.213Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:30.214Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:30.216Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:30.392Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:30.394Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T19:06:30.213Z",
          "updatedAt": "2026-10-22T19:06:30.394Z"
        }
      ]
    }
  33. · POST app request /invocations · over billed held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-over-billed-held",
        "billIds": [
          "13"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "over_billed_held"
      }
    }'

    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-22T19:06:31.125771+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-over-billed-held",
        "billIds": [
          "13"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "over_billed_held"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "over_billed_held"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "172RSHEFWK.1EA605",
          "appliedAt": "2026-10-22T19:06:30.392Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "933ca69152d427ba77b0a5d799df4b9549c4767795959f368f51e1880ead5631"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:30.213Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:30.214Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:30.216Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:30.392Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:30.394Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:30.986Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:30.213Z",
      "updatedAt": "2026-10-22T19:06:30.986Z",
      "duplicate": true
    }
  34. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/over_billed_held/runs · over billed held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/over_billed_held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:31.486923+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "over-billed-held-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "over_billed_held"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "172RSHEFWK.1EA605",
              "appliedAt": "2026-10-22T19:06:30.392Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "933ca69152d427ba77b0a5d799df4b9549c4767795959f368f51e1880ead5631"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:30.213Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:30.214Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:30.216Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:30.392Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:30.394Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T19:06:30.986Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:30.213Z",
          "updatedAt": "2026-10-22T19:06:30.986Z"
        }
      ]
    }
  35. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/duplicate_never_approved/runs · duplicate never approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/duplicate_never_approved/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:31.724361+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  36. · POST app request /invocations · duplicate never approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-duplicate-never-approved",
        "billIds": [
          "11",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "duplicate_never_approved"
      }
    }'

    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-22T19:06:32.149591+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-duplicate-never-approved",
        "billIds": [
          "11",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "duplicate_never_approved"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "duplicate_never_approved"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17EDUMK2S7.61AVDL",
          "appliedAt": "2026-10-22T19:06:32.014Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "cd406031b779aa5a75a18360e68d477982ad62e4b4f38a6ad46b8dd51fad8174"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:31.833Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:31.834Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:31.838Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:32.014Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:32.016Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:31.833Z",
      "updatedAt": "2026-10-22T19:06:32.016Z",
      "duplicate": false
    }
  37. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 2cbc5733d975 · processing 13.66ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-duplicate-never-approved: bills could not be read; nothing was approved.",
      "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.66ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-duplicate-never-approved: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_f4e3f8fa4f7942fb954d8d90fa",
        "client_msg_id": "cli_8e60121e35364230b8247ba415",
        "name": "item-c9cf86",
        "old_name": "Sample Old",
        "parent_user_id": "par_6b76b95bdf514637877690886d",
        "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": "17EDUMK2S7.61AVDL"
    }
  38. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/duplicate_never_approved/runs · duplicate never approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/duplicate_never_approved/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:32.487254+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "duplicate_never_approved"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17EDUMK2S7.61AVDL",
              "appliedAt": "2026-10-22T19:06:32.014Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "cd406031b779aa5a75a18360e68d477982ad62e4b4f38a6ad46b8dd51fad8174"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:31.833Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:31.834Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:31.838Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:32.014Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:32.016Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T19:06:31.833Z",
          "updatedAt": "2026-10-22T19:06:32.016Z"
        }
      ]
    }
  39. · POST app request /invocations · duplicate never approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-duplicate-never-approved",
        "billIds": [
          "11",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "duplicate_never_approved"
      }
    }'

    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-22T19:06:32.735905+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-duplicate-never-approved",
        "billIds": [
          "11",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "duplicate_never_approved"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "duplicate_never_approved"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17EDUMK2S7.61AVDL",
          "appliedAt": "2026-10-22T19:06:32.014Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "069fb813a578b57fc4792546e12f7d8b0c7e1e4e6942828377f63e1cc3e3053b"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:31.833Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:31.834Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:31.838Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:32.014Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:32.016Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:32.608Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:31.833Z",
      "updatedAt": "2026-10-22T19:06:32.608Z",
      "duplicate": true
    }
  40. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/duplicate_never_approved/runs · duplicate never approved · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/duplicate_never_approved/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:33.081012+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "duplicate-never-approved-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "duplicate_never_approved"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17EDUMK2S7.61AVDL",
              "appliedAt": "2026-10-22T19:06:32.014Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "069fb813a578b57fc4792546e12f7d8b0c7e1e4e6942828377f63e1cc3e3053b"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:31.833Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:31.834Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:31.838Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:32.014Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:32.016Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T19:06:32.608Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:31.833Z",
          "updatedAt": "2026-10-22T19:06:32.608Z"
        }
      ]
    }
  41. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/erp_unreadable_approves_nothing/runs · erp unreadable approves nothing · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/erp_unreadable_approves_nothing/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:33.328351+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  42. · POST app request /invocations · erp unreadable approves nothing · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-erp-unreadable-approves-nothing",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "erp_unreadable_approves_nothing"
      }
    }'

    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-22T19:06:33.767171+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-erp-unreadable-approves-nothing",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "erp_unreadable_approves_nothing"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "erp_unreadable_approves_nothing"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17QUUP636G.5FRHJQ",
          "appliedAt": "2026-10-22T19:06:33.636Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "746fb57b9798c848e681a9e065156a796ff22e7fb13f03a942028be9a9690187"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:33.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:33.431Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:33.434Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:33.636Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:33.638Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-10-22T19:06:33.430Z",
      "updatedAt": "2026-10-22T19:06:33.638Z",
      "duplicate": false
    }
  43. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 8b5f8daa1d11 · processing 13.78ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-erp-unreadable-approves-nothing: bills could not be read; nothing was approved.",
      "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.78ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-erp-unreadable-approves-nothing: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0FINANCE01",
      "message": {
        "bot_id": "bot_ae5c76153a2d432380a6b74178",
        "client_msg_id": "cli_a1019b4fb3894f12bd5998d305",
        "name": "item-49fd2d",
        "old_name": "Sample Old",
        "parent_user_id": "par_8c2a6c13abb94fa2aa6a2a4910",
        "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": "17QUUP636G.5FRHJQ"
    }
  44. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/erp_unreadable_approves_nothing/runs · erp unreadable approves nothing · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/erp_unreadable_approves_nothing/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:34.119148+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "erp_unreadable_approves_nothing"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17QUUP636G.5FRHJQ",
              "appliedAt": "2026-10-22T19:06:33.636Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "746fb57b9798c848e681a9e065156a796ff22e7fb13f03a942028be9a9690187"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:33.430Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:33.431Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:33.434Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:33.636Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:33.638Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-10-22T19:06:33.430Z",
          "updatedAt": "2026-10-22T19:06:33.638Z"
        }
      ]
    }
  45. · POST app request /invocations · erp unreadable approves nothing · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-erp-unreadable-approves-nothing",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "erp_unreadable_approves_nothing"
      }
    }'

    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-22T19:06:34.375786+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-erp-unreadable-approves-nothing",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "erp_unreadable_approves_nothing"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "erp_unreadable_approves_nothing"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "ref": "17QUUP636G.5FRHJQ",
          "appliedAt": "2026-10-22T19:06:33.636Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "4f3526ad3a128456f1443c0114448ba805608c2fd5adcdc5d58f0706603babd6"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:33.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:33.431Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:33.434Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:33.636Z",
          "msg": "slack.post_batch: applied"
        },
        {
          "at": "2026-10-22T19:06:33.638Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-10-22T19:06:34.242Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:33.430Z",
      "updatedAt": "2026-10-22T19:06:34.243Z",
      "duplicate": true
    }
  46. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/erp_unreadable_approves_nothing/runs · erp unreadable approves nothing · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/erp_unreadable_approves_nothing/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:34.716887+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "erp-unreadable-approves-nothing-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "erp_unreadable_approves_nothing"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "ref": "17QUUP636G.5FRHJQ",
              "appliedAt": "2026-10-22T19:06:33.636Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 1,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "4f3526ad3a128456f1443c0114448ba805608c2fd5adcdc5d58f0706603babd6"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:33.430Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:33.431Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:33.434Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:33.636Z",
              "msg": "slack.post_batch: applied"
            },
            {
              "at": "2026-10-22T19:06:33.638Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-10-22T19:06:34.242Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:33.430Z",
          "updatedAt": "2026-10-22T19:06:34.243Z"
        }
      ]
    }
  47. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/slack_rate_limited/runs · slack rate limited · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/slack_rate_limited/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:34.958292+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  48. · POST app request /invocations · slack rate limited · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-slack-rate-limited",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "slack_rate_limited"
      }
    }'

    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-22T19:06:43.726528+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-slack-rate-limited",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "slack_rate_limited"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "failed",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "slack_rate_limited"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "failed",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "error": "slack 429 ratelimited: POST /api/chat.postMessage → 429 ratelimited",
          "errorCode": "slack:ratelimited",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 4,
        "head": "8396a6bb08d8bb3b9e74af9eb99aaea13bda33b9e63e969acbfaafd2c5458ba9"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:35.078Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:35.079Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:35.080Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:43.587Z",
          "msg": "slack.post_batch: failed (slack:ratelimited)"
        },
        {
          "at": "2026-10-22T19:06:43.590Z",
          "msg": "done (failed)"
        }
      ],
      "createdAt": "2026-10-22T19:06:35.078Z",
      "updatedAt": "2026-10-22T19:06:43.590Z",
      "duplicate": false
    }
  49. · POST slack request · slack rate limited · /api/chat.postMessage · HTTP 429 · processing 0.87ms
    View sanitized request and response

    Curl-style request view

    curl --request POST '<SLACK_TWIN_BASE_URL>/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "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 was not recorded. Provider processing: 0.87ms.

    Recorded request headers

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

    Recorded response headers

    {
      "retry-after": "30"
    }

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 429

    {
      "ok": false,
      "error": "ratelimited"
    }
  50. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 429 · request b270fdd87175 · processing 0.87ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "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: 0.87ms.

    Recorded request headers

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

    Recorded response headers

    {
      "retry-after": "30"
    }

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 429

    {
      "ok": false,
      "error": "ratelimited"
    }
  51. · POST slack request · slack rate limited · /api/chat.postMessage · HTTP 429 · processing 0.9ms
    View sanitized request and response

    Curl-style request view

    curl --request POST '<SLACK_TWIN_BASE_URL>/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "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 was not recorded. Provider processing: 0.9ms.

    Recorded request headers

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

    Recorded response headers

    {
      "retry-after": "30"
    }

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 429

    {
      "ok": false,
      "error": "ratelimited"
    }
  52. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 429 · request aef4c888cb64 · processing 0.9ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "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: 0.9ms.

    Recorded request headers

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

    Recorded response headers

    {
      "retry-after": "30"
    }

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 429

    {
      "ok": false,
      "error": "ratelimited"
    }
  53. · POST slack request · slack rate limited · /api/chat.postMessage · HTTP 429 · processing 0.83ms
    View sanitized request and response

    Curl-style request view

    curl --request POST '<SLACK_TWIN_BASE_URL>/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "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 was not recorded. Provider processing: 0.83ms.

    Recorded request headers

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

    Recorded response headers

    {
      "retry-after": "30"
    }

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 429

    {
      "ok": false,
      "error": "ratelimited"
    }
  54. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 429 · request 09c6e564af0d · processing 0.83ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/5a2eacd142/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "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: 0.83ms.

    Recorded request headers

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

    Recorded response headers

    {
      "retry-after": "30"
    }

    Request body

    {
      "channel": "C0FINANCE01",
      "text": ":rotating_light: AP-slack-rate-limited: bills could not be read; nothing was approved.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 429

    {
      "ok": false,
      "error": "ratelimited"
    }
  55. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/slack_rate_limited/runs · slack rate limited · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/slack_rate_limited/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:44.074407+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "failed",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "slack_rate_limited"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "failed",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "error": "slack 429 ratelimited: POST /api/chat.postMessage → 429 ratelimited",
              "errorCode": "slack:ratelimited",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 1,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 4,
            "head": "8396a6bb08d8bb3b9e74af9eb99aaea13bda33b9e63e969acbfaafd2c5458ba9"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:35.078Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:35.079Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:35.080Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:43.587Z",
              "msg": "slack.post_batch: failed (slack:ratelimited)"
            },
            {
              "at": "2026-10-22T19:06:43.590Z",
              "msg": "done (failed)"
            }
          ],
          "createdAt": "2026-10-22T19:06:35.078Z",
          "updatedAt": "2026-10-22T19:06:43.590Z"
        }
      ]
    }
  56. · POST app request /invocations · slack rate limited · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-slack-rate-limited",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "slack_rate_limited"
      }
    }'

    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-22T19:06:44.310087+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "AP-slack-rate-limited",
        "billIds": [
          "11",
          "12",
          "13",
          "14"
        ],
        "apChannel": "C0FINANCE01",
        "approvers": [
          "U_AP_LEAD",
          "U_AP_CLERK"
        ],
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "slack_rate_limited"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
      "workflow": "invoice-three-way-match",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Finance",
      "team": "accounts-payable",
      "phase": "DONE",
      "closed": true,
      "outcome": "failed",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "slack_rate_limited"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "match-engine",
          "status": "skipped",
          "error": "not configured: netsuite",
          "errorCode": "not_configured",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_batch",
          "kind": "slack.post_batch",
          "provider": "slack",
          "agent": "match-engine",
          "gate": "auto",
          "status": "failed",
          "summary": {
            "channel": "C0FINANCE01",
            "blocked": true
          },
          "attempts": 1,
          "error": "slack 429 ratelimited: POST /api/chat.postMessage → 429 ratelimited",
          "errorCode": "slack:ratelimited",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": {
        "seq": 5,
        "head": "8ecea1967b6776d4a5790ba06bcf7e5faa965f2278f82d9747aa870c1c77a650"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:06:35.078Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:06:35.079Z",
          "msg": "agents: match-engine=skipped"
        },
        {
          "at": "2026-10-22T19:06:35.080Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:06:43.587Z",
          "msg": "slack.post_batch: failed (slack:ratelimited)"
        },
        {
          "at": "2026-10-22T19:06:43.590Z",
          "msg": "done (failed)"
        },
        {
          "at": "2026-10-22T19:06:44.180Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:06:35.078Z",
      "updatedAt": "2026-10-22T19:06:44.180Z",
      "duplicate": true
    }
  57. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/slack_rate_limited/runs · slack rate limited · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/cases/slack_rate_limited/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:44.651271+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": "slack-rate-limited-vr_fbd12df7d3c54163a3711aaf0af39176",
          "workflow": "invoice-three-way-match",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Finance",
          "team": "accounts-payable",
          "phase": "DONE",
          "closed": true,
          "outcome": "failed",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
            "fs_case": "slack_rate_limited"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "match-engine",
              "status": "skipped",
              "error": "not configured: netsuite",
              "errorCode": "not_configured",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_batch",
              "kind": "slack.post_batch",
              "provider": "slack",
              "agent": "match-engine",
              "gate": "auto",
              "status": "failed",
              "summary": {
                "channel": "C0FINANCE01",
                "blocked": true
              },
              "attempts": 1,
              "error": "slack 429 ratelimited: POST /api/chat.postMessage → 429 ratelimited",
              "errorCode": "slack:ratelimited",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 1,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": {
            "seq": 5,
            "head": "8ecea1967b6776d4a5790ba06bcf7e5faa965f2278f82d9747aa870c1c77a650"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:06:35.078Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:06:35.079Z",
              "msg": "agents: match-engine=skipped"
            },
            {
              "at": "2026-10-22T19:06:35.080Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:06:43.587Z",
              "msg": "slack.post_batch: failed (slack:ratelimited)"
            },
            {
              "at": "2026-10-22T19:06:43.590Z",
              "msg": "done (failed)"
            },
            {
              "at": "2026-10-22T19:06:44.180Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:06:35.078Z",
          "updatedAt": "2026-10-22T19:06:44.180Z"
        }
      ]
    }
  58. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/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_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:44.905839+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  59. · 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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "invalid-input-rejected-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "today",
        "apChannel": "C0FINANCE01",
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "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-22T19:06:45.187164+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "invalid-input-rejected-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "today",
        "apChannel": "C0FINANCE01",
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "invalid_input_rejected"
      }
    }

    Recorded response · HTTP 400

    {
      "error": "invalid input",
      "issues": [
        "batchId: batch id like AP-2026-10-22"
      ]
    }
  60. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/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_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:45.547858+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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": []
    }
  61. · 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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_fbd12df7d3c54163a3711aaf0af39176' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "invalid-input-rejected-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "today",
        "apChannel": "C0FINANCE01",
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "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-22T19:06:45.775184+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "invalid-input-rejected-vr_fbd12df7d3c54163a3711aaf0af39176",
      "input": {
        "batchId": "today",
        "apChannel": "C0FINANCE01",
        "buyers": [
          "U_BUYER"
        ]
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_fbd12df7d3c54163a3711aaf0af39176",
        "fs_case": "invalid_input_rejected"
      }
    }

    Recorded response · HTTP 400

    {
      "error": "invalid input",
      "issues": [
        "batchId: batch id like AP-2026-10-22"
      ]
    }
  62. · GET app request /verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/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/138f28efb0e5bff84dd11feb579bd25a96499f0f5799b030/verify/runs/vr_fbd12df7d3c54163a3711aaf0af39176/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_fbd12df7d3c54163a3711aaf0af39176' \
      --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-22T19:06:46.158585+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_fbd12df7d3c54163a3711aaf0af39176",
      "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.