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.

3 / 8

Failing

3Passed4Failed1Not 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

A request starts one recorded run (provider-independent, so every later check is measured)

baseline
Passed

What we probed

A request starts one recorded run (provider-independent, so every later check is measured)

How we probed it

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

  1. POST /invocations

Expected vs actual

Expected
A request starts one recorded run (provider-independent, so every later check is measured)
Actual
expected exactly 1, found 1; stable under 2 repeats (1)

Requests and responses

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

GET /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json",
  "content-length": "11"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
  --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_42e0d5627b754acda8a2603350d1d9bc",
  "input": {
    "reviewId": "PAYREV-baseline",
    "payrollId": "pr_baseline",
    "preparer": "U_PREP",
    "reviewers": [
      "U_PREP",
      "U_CONTROLLER"
    ],
    "payrollChannel": "C0PAYROLL01"
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
    "fs_case": "baseline"
  }
}
Server returned

HTTP 200

{
  "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
  "workflow": "payroll-anomaly-review",
  "metadata": {
    "organization": "Acme",
    "company": "Acme Corporation",
    "environment": "unconfigured",
    "owner": "unassigned",
    "department": "unassigned",
    "ownerTeam": "unassigned",
    "oncall": "unassigned",
    "version": "unversioned",
    "sourceCommit": "unrecorded"
  },
  "org": "People",
  "team": "payroll-ops",
  "phase": "DONE",
  "closed": true,
  "outcome": "partial",
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
    "fs_case": "baseline"
  },
  "duplicateStarts": 0,
  "agents": [
    {
      "name": "payroll",
      "status": "skipped",
      "error": "not configured: gusto",
      "errorCode": "not_configured",
      "durationMs": 0
    },
    {
      "name": "employees",
      "status": "skipped",
      "error": "not configured: gusto",
      "errorCode": "not_configured",
      "durationMs": 0
    },
    {
      "name": "anomalies",
      "status": "failed",
      "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
      "errorCode": "fatal",
      "durationMs": 0
    }
  ],
  "actions": [
    {
      "id": "slack.post_blocked",
      "kind": "slack.post_blocked",
      "provider": "slack",
      "agent": "anomalies",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "payroll": "pr_baseline"
      },
      "attempts": 1,
      "ref": "178QU2OJX7.7RBV0F",
      "appliedAt": "2026-10-22T19:36:28.572Z",
      "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": "fad7f6d7bfca371e481d315b242d110de595bb02eb0bf5e5d947b35d3bb39700"
  },
  "output": {
    "mode": "blocked"
  },
  "events": [
    {
      "at": "2026-10-22T19:36:28.094Z",
      "msg": "started by U_FETCHSANDBOX"
    },
    {
      "at": "2026-10-22T19:36:28.096Z",
      "msg": "agents: payroll=skipped, employees=skipped"
    },
    {
      "at": "2026-10-22T19:36:28.100Z",
      "msg": "planned 1 action(s): 0 need approval"
    },
    {
      "at": "2026-10-22T19:36:28.573Z",
      "msg": "slack.post_blocked: applied"
    },
    {
      "at": "2026-10-22T19:36:28.575Z",
      "msg": "done (partial)"
    }
  ],
  "createdAt": "2026-10-22T19:36:28.094Z",
  "updatedAt": "2026-10-22T19:36:28.576Z",
  "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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]",
  "content-length": "348",
  "content-type": "application/json"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]' \
  --header 'content-type: application/json' \
  --data-raw '{
  "action": "start",
  "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
  "input": {
    "reviewId": "PAYREV-baseline",
    "payrollId": "pr_baseline",
    "preparer": "U_PREP",
    "reviewers": [
      "U_PREP",
      "U_CONTROLLER"
    ],
    "payrollChannel": "C0PAYROLL01"
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
    "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_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs200
We sent

GET /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs

This request had no body.

Server returned

HTTP 200

{
  "runs": [
    {
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_baseline"
          },
          "attempts": 1,
          "ref": "178QU2OJX7.7RBV0F",
          "appliedAt": "2026-10-22T19:36:28.572Z",
          "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": "fad7f6d7bfca371e481d315b242d110de595bb02eb0bf5e5d947b35d3bb39700"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:28.094Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:28.096Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:28.100Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:28.573Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:28.575Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:28.094Z",
      "updatedAt": "2026-10-22T19:36:28.576Z"
    }
  ]
}

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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
  --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_42e0d5627b754acda8a2603350d1d9bc",
  "input": {
    "reviewId": "PAYREV-baseline",
    "payrollId": "pr_baseline",
    "preparer": "U_PREP",
    "reviewers": [
      "U_PREP",
      "U_CONTROLLER"
    ],
    "payrollChannel": "C0PAYROLL01"
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
    "fs_case": "baseline"
  }
}
Server returned

HTTP 200

{
  "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
  "workflow": "payroll-anomaly-review",
  "metadata": {
    "organization": "Acme",
    "company": "Acme Corporation",
    "environment": "unconfigured",
    "owner": "unassigned",
    "department": "unassigned",
    "ownerTeam": "unassigned",
    "oncall": "unassigned",
    "version": "unversioned",
    "sourceCommit": "unrecorded"
  },
  "org": "People",
  "team": "payroll-ops",
  "phase": "DONE",
  "closed": true,
  "outcome": "partial",
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
    "fs_case": "baseline"
  },
  "duplicateStarts": 1,
  "agents": [
    {
      "name": "payroll",
      "status": "skipped",
      "error": "not configured: gusto",
      "errorCode": "not_configured",
      "durationMs": 0
    },
    {
      "name": "employees",
      "status": "skipped",
      "error": "not configured: gusto",
      "errorCode": "not_configured",
      "durationMs": 0
    },
    {
      "name": "anomalies",
      "status": "failed",
      "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
      "errorCode": "fatal",
      "durationMs": 0
    }
  ],
  "actions": [
    {
      "id": "slack.post_blocked",
      "kind": "slack.post_blocked",
      "provider": "slack",
      "agent": "anomalies",
      "gate": "auto",
      "status": "applied",
      "summary": {
        "payroll": "pr_baseline"
      },
      "attempts": 1,
      "ref": "178QU2OJX7.7RBV0F",
      "appliedAt": "2026-10-22T19:36:28.572Z",
      "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": "8b0d7360284bab45884e2c279548becd8f40deda15cea18742ecbdac1beee8aa"
  },
  "output": {
    "mode": "blocked"
  },
  "events": [
    {
      "at": "2026-10-22T19:36:28.094Z",
      "msg": "started by U_FETCHSANDBOX"
    },
    {
      "at": "2026-10-22T19:36:28.096Z",
      "msg": "agents: payroll=skipped, employees=skipped"
    },
    {
      "at": "2026-10-22T19:36:28.100Z",
      "msg": "planned 1 action(s): 0 need approval"
    },
    {
      "at": "2026-10-22T19:36:28.573Z",
      "msg": "slack.post_blocked: applied"
    },
    {
      "at": "2026-10-22T19:36:28.575Z",
      "msg": "done (partial)"
    },
    {
      "at": "2026-10-22T19:36:29.190Z",
      "msg": "duplicate start ignored"
    }
  ],
  "createdAt": "2026-10-22T19:36:28.094Z",
  "updatedAt": "2026-10-22T19:36:29.190Z",
  "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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations

{
  "accept": "*/*",
  "user-agent": "python-httpx/0.28.1",
  "host": "fetchsandbox.com",
  "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
  "x-fetchsandbox-relay": "[redacted]",
  "authorization": "[redacted]",
  "content-length": "348",
  "content-type": "application/json"
}
{
  "content-type": "application/json"
}
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
  --header 'accept: */*' \
  --header 'user-agent: python-httpx/0.28.1' \
  --header 'host: fetchsandbox.com' \
  --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
  --header 'x-fetchsandbox-relay: [redacted]' \
  --header 'authorization: [redacted]' \
  --header 'content-type: application/json' \
  --data-raw '{
  "action": "start",
  "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
  "input": {
    "reviewId": "PAYREV-baseline",
    "payrollId": "pr_baseline",
    "preparer": "U_PREP",
    "reviewers": [
      "U_PREP",
      "U_CONTROLLER"
    ],
    "payrollChannel": "C0PAYROLL01"
  },
  "requestedBy": {
    "userId": "U_FETCHSANDBOX"
  },
  "labels": {
    "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
    "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_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs200
We sent

GET /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs

This request had no body.

Server returned

HTTP 200

{
  "runs": [
    {
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_baseline"
          },
          "attempts": 1,
          "ref": "178QU2OJX7.7RBV0F",
          "appliedAt": "2026-10-22T19:36:28.572Z",
          "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": "8b0d7360284bab45884e2c279548becd8f40deda15cea18742ecbdac1beee8aa"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:28.094Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:28.096Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:28.100Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:28.573Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:28.575Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T19:36:29.190Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:36:28.094Z",
      "updatedAt": "2026-10-22T19:36:29.190Z"
    }
  ]
}

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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs

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

App version (declared): acme-ops-payroll-anomaly-review-1.0.0-befeb35

A request starts one recorded run (provider-independent, so every later check is measured)

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": "C0PAYROLL01",
  "text": ":warning: PAYREV-baseline: payroll pr_baseline could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
  "unfurl_links": false,
  "unfurl_media": false
}
Server returned

HTTP 200

{
  "channel": "C0PAYROLL01",
  "message": {
    "bot_id": "bot_6576bd6e7c6c41dbb037223ff3",
    "client_msg_id": "cli_a42ec49cf28e4cb1a4e0e53768",
    "name": "item-a8b45d",
    "old_name": "Sample Old",
    "parent_user_id": "par_92c2bf2e67f84ce9be6b49bb26",
    "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": "178QU2OJX7.7RBV0F"
}

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/460b43d7b8/api/chat.postMessage

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

Response headers were not saved in this run.

Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
  --header 'host: fetchsandbox.com' \
  --header 'user-agent: node' \
  --header 'accept: application/json' \
  --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
  --header 'content-type: application/json; charset=utf-8' \
  --data-raw '{
  "channel": "C0PAYROLL01",
  "text": ":warning: PAYREV-baseline: payroll pr_baseline could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
  "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_42e0d5627b754acda8a2603350d1d9bc

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

3 passed · 4 failed · 1 not checked

Coverage beyond the declared checks

Passing these checks does not establish every production behavior.

  • Normal successful behavior · Linked check failed · baseline, baseline_effects
  • The right user gets the right access · Not checked · preparer_cannot_approve
  • Valid data and boundary values · Linked checks passed · invalid_input_rejected
  • Correct amount, currency and quantity · Linked check failed · anomalies_flagged
  • Duplicate requests and events · Proposed as not applicable
  • Requests arriving together · Proposed as not applicable
  • Out-of-order and stale events · Proposed as not applicable
  • Delayed or missing events · Linked check failed · deadline_holds_flagged_pays_rest
  • Provider authentication and permissions · Linked checks passed · gusto_unavailable_never_submits
  • Rate limits, server failures and timeouts · Linked checks passed · gusto_unavailable_never_submits
  • Completed action with a lost response · Proposed as not applicable
  • Partial completion and recovery · Linked check failed · deadline_holds_flagged_pays_rest
  • Restart without losing or duplicating work · Proposed as not applicable
  • Finding and repairing inconsistent state · Proposed as not applicable
  • Cancellation, refunds and access · Proposed as not applicable
  • 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-payroll-anomaly-review-1.0.0-befeb35 (declared)

Measured run: 2026-10-22T19:36:27.729388+00:00 – 2026-10-22T19:36:40.236562+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: 44/47 successful · checkpoints: 7/8 recorded

Why checks are unmeasured

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

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:27.971494+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "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:36:28.681913+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_baseline"
          },
          "attempts": 1,
          "ref": "178QU2OJX7.7RBV0F",
          "appliedAt": "2026-10-22T19:36:28.572Z",
          "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": "fad7f6d7bfca371e481d315b242d110de595bb02eb0bf5e5d947b35d3bb39700"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:28.094Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:28.096Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:28.100Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:28.573Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:28.575Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:28.094Z",
      "updatedAt": "2026-10-22T19:36:28.576Z",
      "duplicate": false
    }
  3. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 203d740b3c83 · processing 12.42ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-baseline: payroll pr_baseline could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-baseline: payroll pr_baseline could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0PAYROLL01",
      "message": {
        "bot_id": "bot_6576bd6e7c6c41dbb037223ff3",
        "client_msg_id": "cli_a42ec49cf28e4cb1a4e0e53768",
        "name": "item-a8b45d",
        "old_name": "Sample Old",
        "parent_user_id": "par_92c2bf2e67f84ce9be6b49bb26",
        "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": "178QU2OJX7.7RBV0F"
    }
  4. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:29.038854+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "baseline"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_baseline"
              },
              "attempts": 1,
              "ref": "178QU2OJX7.7RBV0F",
              "appliedAt": "2026-10-22T19:36:28.572Z",
              "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": "fad7f6d7bfca371e481d315b242d110de595bb02eb0bf5e5d947b35d3bb39700"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:28.094Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:28.096Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:28.100Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:28.573Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:28.575Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T19:36:28.094Z",
          "updatedAt": "2026-10-22T19:36:28.576Z"
        }
      ]
    }
  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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "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:36:29.309680+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_baseline"
          },
          "attempts": 1,
          "ref": "178QU2OJX7.7RBV0F",
          "appliedAt": "2026-10-22T19:36:28.572Z",
          "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": "8b0d7360284bab45884e2c279548becd8f40deda15cea18742ecbdac1beee8aa"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:28.094Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:28.096Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:28.100Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:28.573Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:28.575Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T19:36:29.190Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:36:28.094Z",
      "updatedAt": "2026-10-22T19:36:29.190Z",
      "duplicate": true
    }
  6. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:29.639229+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "baseline"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_baseline"
              },
              "attempts": 1,
              "ref": "178QU2OJX7.7RBV0F",
              "appliedAt": "2026-10-22T19:36:28.572Z",
              "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": "8b0d7360284bab45884e2c279548becd8f40deda15cea18742ecbdac1beee8aa"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:28.094Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:28.096Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:28.100Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:28.573Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:28.575Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T19:36:29.190Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:36:28.094Z",
          "updatedAt": "2026-10-22T19:36:29.190Z"
        }
      ]
    }
  7. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline_effects/runs · baseline effects · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline_effects/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:29.878922+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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 · baseline effects · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline_effects"
      }
    }'

    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:36:30.299669+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline_effects"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline_effects"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_baseline"
          },
          "attempts": 1,
          "ref": "17FU57IO6S.CUO2I9",
          "appliedAt": "2026-10-22T19:36:30.185Z",
          "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": "30e7c81232b706f204b07f2801313056fbe69cbb1c3fcf7a9e088e2429679d57"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:29.997Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:29.998Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:30.006Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:30.185Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:30.187Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:29.997Z",
      "updatedAt": "2026-10-22T19:36:30.187Z",
      "duplicate": false
    }
  9. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request de63a5da2d10 · processing 14.66ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-baseline: payroll pr_baseline could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "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.66ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-baseline: payroll pr_baseline could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0PAYROLL01",
      "message": {
        "bot_id": "bot_75a5e948805840f4b145706ea7",
        "client_msg_id": "cli_2f8362dcab7c4aa7950659ae3b",
        "name": "item-b0b382",
        "old_name": "Sample Old",
        "parent_user_id": "par_ef87fdd00dc74ebab235a07bb3",
        "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": "17FU57IO6S.CUO2I9"
    }
  10. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline_effects/runs · baseline effects · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline_effects/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:30.636477+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "baseline_effects"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_baseline"
              },
              "attempts": 1,
              "ref": "17FU57IO6S.CUO2I9",
              "appliedAt": "2026-10-22T19:36:30.185Z",
              "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": "30e7c81232b706f204b07f2801313056fbe69cbb1c3fcf7a9e088e2429679d57"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:29.997Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:29.998Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:30.006Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:30.185Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:30.187Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T19:36:29.997Z",
          "updatedAt": "2026-10-22T19:36:30.187Z"
        }
      ]
    }
  11. · POST app request /invocations · baseline effects · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline_effects"
      }
    }'

    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:36:30.901240+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-baseline",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline_effects"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "baseline_effects"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_baseline"
          },
          "attempts": 1,
          "ref": "17FU57IO6S.CUO2I9",
          "appliedAt": "2026-10-22T19:36:30.185Z",
          "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": "d073f933f69a657d16597593c42b4c26166f98d088938c659d7567178aefbadb"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:29.997Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:29.998Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:30.006Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:30.185Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:30.187Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T19:36:30.751Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:36:29.997Z",
      "updatedAt": "2026-10-22T19:36:30.751Z",
      "duplicate": true
    }
  12. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline_effects/runs · baseline effects · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/baseline_effects/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:31.242888+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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-effects-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "baseline_effects"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_baseline"
              },
              "attempts": 1,
              "ref": "17FU57IO6S.CUO2I9",
              "appliedAt": "2026-10-22T19:36:30.185Z",
              "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": "d073f933f69a657d16597593c42b4c26166f98d088938c659d7567178aefbadb"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:29.997Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:29.998Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:30.006Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:30.185Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:30.187Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T19:36:30.751Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:36:29.997Z",
          "updatedAt": "2026-10-22T19:36:30.751Z"
        }
      ]
    }
  13. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/clean_payroll_submitted/runs · clean payroll submitted · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/clean_payroll_submitted/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:31.482020+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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 payroll submitted · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "clean-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-clean-payroll-submitted",
        "payrollId": "pr_clean_payroll_submitted",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "clean_payroll_submitted"
      }
    }'

    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:36:31.881748+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "clean-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-clean-payroll-submitted",
        "payrollId": "pr_clean_payroll_submitted",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "clean_payroll_submitted"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "clean-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "clean_payroll_submitted"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_clean_payroll_submitted"
          },
          "attempts": 1,
          "ref": "17BGZ6TEDB.Y89RBP",
          "appliedAt": "2026-10-22T19:36:31.772Z",
          "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": "5a8a4849ea60447f13e0348e699773d5658dcca40dd0ff84edac1e7404ff69ca"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:31.591Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:31.593Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:31.596Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:31.772Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:31.774Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:31.591Z",
      "updatedAt": "2026-10-22T19:36:31.774Z",
      "duplicate": false
    }
  15. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 092d64460457 · processing 13.85ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-clean-payroll-submitted: payroll pr_clean_payroll_submitted could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "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.85ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-clean-payroll-submitted: payroll pr_clean_payroll_submitted could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0PAYROLL01",
      "message": {
        "bot_id": "bot_5c05ed63afc349aca3375a338e",
        "client_msg_id": "cli_f77ac994ea804edebbc6cbc6d0",
        "name": "item-8c8c50",
        "old_name": "Sample Old",
        "parent_user_id": "par_7edd27f26c044ae7a82b740617",
        "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": "17BGZ6TEDB.Y89RBP"
    }
  16. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/clean_payroll_submitted/runs · clean payroll submitted · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/clean_payroll_submitted/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:32.200196+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "clean_payroll_submitted"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_clean_payroll_submitted"
              },
              "attempts": 1,
              "ref": "17BGZ6TEDB.Y89RBP",
              "appliedAt": "2026-10-22T19:36:31.772Z",
              "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": "5a8a4849ea60447f13e0348e699773d5658dcca40dd0ff84edac1e7404ff69ca"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:31.591Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:31.593Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:31.596Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:31.772Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:31.774Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T19:36:31.591Z",
          "updatedAt": "2026-10-22T19:36:31.774Z"
        }
      ]
    }
  17. · POST app request /invocations · clean payroll submitted · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "clean-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-clean-payroll-submitted",
        "payrollId": "pr_clean_payroll_submitted",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "clean_payroll_submitted"
      }
    }'

    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:36:32.437717+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "clean-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-clean-payroll-submitted",
        "payrollId": "pr_clean_payroll_submitted",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "clean_payroll_submitted"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "clean-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "clean_payroll_submitted"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_clean_payroll_submitted"
          },
          "attempts": 1,
          "ref": "17BGZ6TEDB.Y89RBP",
          "appliedAt": "2026-10-22T19:36:31.772Z",
          "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": "10158f6270100006954d3891dccca79eaa83d7107efa6a8cabb2d26f6fb2dbe9"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:31.591Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:31.593Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:31.596Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:31.772Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:31.774Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T19:36:32.324Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:36:31.591Z",
      "updatedAt": "2026-10-22T19:36:32.324Z",
      "duplicate": true
    }
  18. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/clean_payroll_submitted/runs · clean payroll submitted · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/clean_payroll_submitted/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:32.765381+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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-payroll-submitted-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "clean_payroll_submitted"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_clean_payroll_submitted"
              },
              "attempts": 1,
              "ref": "17BGZ6TEDB.Y89RBP",
              "appliedAt": "2026-10-22T19:36:31.772Z",
              "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": "10158f6270100006954d3891dccca79eaa83d7107efa6a8cabb2d26f6fb2dbe9"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:31.591Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:31.593Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:31.596Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:31.772Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:31.774Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T19:36:32.324Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:36:31.591Z",
          "updatedAt": "2026-10-22T19:36:32.324Z"
        }
      ]
    }
  19. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/anomalies_flagged/runs · anomalies flagged · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/anomalies_flagged/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:32.994355+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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 · anomalies flagged · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-anomalies-flagged",
        "payrollId": "pr_anomalies_flagged",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "anomalies_flagged"
      }
    }'

    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:36:33.420690+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-anomalies-flagged",
        "payrollId": "pr_anomalies_flagged",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "anomalies_flagged"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "anomalies_flagged"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 1
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_anomalies_flagged"
          },
          "attempts": 1,
          "ref": "17G7T705YH.UYYGOI",
          "appliedAt": "2026-10-22T19:36:33.300Z",
          "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": "f78495bad4bbac3f3a1d2111fd7332e95b7cf6553d867053c7b79f9901556078"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:33.119Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:33.121Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:33.124Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:33.300Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:33.303Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:33.119Z",
      "updatedAt": "2026-10-22T19:36:33.303Z",
      "duplicate": false
    }
  21. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 7c78c1511cc0 · processing 14.58ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-anomalies-flagged: payroll pr_anomalies_flagged could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "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.58ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-anomalies-flagged: payroll pr_anomalies_flagged could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0PAYROLL01",
      "message": {
        "bot_id": "bot_015a737303ff42a5aff8a34555",
        "client_msg_id": "cli_b3ab3b2885a94b288c5faadcfa",
        "name": "item-8b0761",
        "old_name": "Sample Old",
        "parent_user_id": "par_d04266337ded451f95aa140f52",
        "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": "17G7T705YH.UYYGOI"
    }
  22. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/anomalies_flagged/runs · anomalies flagged · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/anomalies_flagged/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:33.742943+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "anomalies_flagged"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 1
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_anomalies_flagged"
              },
              "attempts": 1,
              "ref": "17G7T705YH.UYYGOI",
              "appliedAt": "2026-10-22T19:36:33.300Z",
              "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": "f78495bad4bbac3f3a1d2111fd7332e95b7cf6553d867053c7b79f9901556078"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:33.119Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:33.121Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:33.124Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:33.300Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:33.303Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T19:36:33.119Z",
          "updatedAt": "2026-10-22T19:36:33.303Z"
        }
      ]
    }
  23. · POST app request /invocations · anomalies flagged · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-anomalies-flagged",
        "payrollId": "pr_anomalies_flagged",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "anomalies_flagged"
      }
    }'

    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:36:33.987800+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-anomalies-flagged",
        "payrollId": "pr_anomalies_flagged",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "anomalies_flagged"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "anomalies_flagged"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 1
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_anomalies_flagged"
          },
          "attempts": 1,
          "ref": "17G7T705YH.UYYGOI",
          "appliedAt": "2026-10-22T19:36:33.300Z",
          "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": "2e86caa54391c76a48f6eb31e094b27c898d4c44d4c06c4d5da4ff16be9436f8"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:33.119Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:33.121Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:33.124Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:33.300Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:33.303Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T19:36:33.861Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:36:33.119Z",
      "updatedAt": "2026-10-22T19:36:33.861Z",
      "duplicate": true
    }
  24. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/anomalies_flagged/runs · anomalies flagged · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/anomalies_flagged/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:34.310250+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "anomalies-flagged-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "anomalies_flagged"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 1
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_anomalies_flagged"
              },
              "attempts": 1,
              "ref": "17G7T705YH.UYYGOI",
              "appliedAt": "2026-10-22T19:36:33.300Z",
              "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": "2e86caa54391c76a48f6eb31e094b27c898d4c44d4c06c4d5da4ff16be9436f8"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:33.119Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:33.121Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:33.124Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:33.300Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:33.303Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T19:36:33.861Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:36:33.119Z",
          "updatedAt": "2026-10-22T19:36:33.861Z"
        }
      ]
    }
  25. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/preparer_cannot_approve/runs · preparer cannot approve · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/preparer_cannot_approve/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:34.540513+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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 · preparer cannot approve · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "preparer-cannot-approve-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-preparer-cannot-approve",
        "payrollId": "pr_preparer_cannot_approve",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "preparer_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:36:34.963270+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "preparer-cannot-approve-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-preparer-cannot-approve",
        "payrollId": "pr_preparer_cannot_approve",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "preparer_cannot_approve"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "preparer-cannot-approve-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "preparer_cannot_approve"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_preparer_cannot_approve"
          },
          "attempts": 1,
          "ref": "17OWARM1EK.3CB0GH",
          "appliedAt": "2026-10-22T19:36:34.841Z",
          "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": "bf866dae99b12574c0b0f221201da6b70986e041d5e897ecbaaa120640ae367e"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:34.660Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:34.661Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:34.665Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:34.841Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:34.843Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:34.660Z",
      "updatedAt": "2026-10-22T19:36:34.843Z",
      "duplicate": false
    }
  27. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 765b5b610357 · processing 13.71ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-preparer-cannot-approve: payroll pr_preparer_cannot_approve could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "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.71ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-preparer-cannot-approve: payroll pr_preparer_cannot_approve could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0PAYROLL01",
      "message": {
        "bot_id": "bot_ebe802b6cc8f47328342e1c301",
        "client_msg_id": "cli_fde6512a119c47189199b9b608",
        "name": "item-280265",
        "old_name": "Sample Old",
        "parent_user_id": "par_5de85537326c4675956e0706e8",
        "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": "17OWARM1EK.3CB0GH"
    }
  28. · POST app request /invocations · preparer cannot approve · HTTP 404
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "signal",
      "runId": "preparer-cannot-approve-vr_42e0d5627b754acda8a2603350d1d9bc",
      "actionId": "payroll.review:pr_preparer_cannot_approve",
      "value": "approve",
      "userId": "U_PREP"
    }'

    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:36:35.196610+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "signal",
      "runId": "preparer-cannot-approve-vr_42e0d5627b754acda8a2603350d1d9bc",
      "actionId": "payroll.review:pr_preparer_cannot_approve",
      "value": "approve",
      "userId": "U_PREP"
    }

    Recorded response · HTTP 404

    {
      "result": "no_such_signal",
      "runId": "preparer-cannot-approve-vr_42e0d5627b754acda8a2603350d1d9bc",
      "actionId": "payroll.review:pr_preparer_cannot_approve"
    }
  29. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/deadline_holds_flagged_pays_rest/runs · deadline holds flagged pays rest · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/deadline_holds_flagged_pays_rest/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:35.452658+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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 · deadline holds flagged pays rest · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-deadline-holds-flagged-pays-rest",
        "payrollId": "pr_deadline_holds_flagged_pays_rest",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "deadline_holds_flagged_pays_rest"
      }
    }'

    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:36:35.888488+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-deadline-holds-flagged-pays-rest",
        "payrollId": "pr_deadline_holds_flagged_pays_rest",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "deadline_holds_flagged_pays_rest"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "deadline_holds_flagged_pays_rest"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_deadline_holds_flagged_pays_rest"
          },
          "attempts": 1,
          "ref": "170443TL9F.3959TI",
          "appliedAt": "2026-10-22T19:36:35.735Z",
          "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": "106e1dcf23bc71e4e6c6a8ba48b4791556ee578b69a7b4333664401f555b988b"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:35.560Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:35.561Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:35.564Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:35.735Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:35.737Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:35.560Z",
      "updatedAt": "2026-10-22T19:36:35.737Z",
      "duplicate": false
    }
  31. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request b673cba2d57f · processing 18.06ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-deadline-holds-flagged-pays-rest: payroll pr_deadline_holds_flagged_pays_rest could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "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: 18.06ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-deadline-holds-flagged-pays-rest: payroll pr_deadline_holds_flagged_pays_rest could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0PAYROLL01",
      "message": {
        "bot_id": "bot_e01a7c53d09b4109ab4b299e5f",
        "client_msg_id": "cli_b6b34c606d6443b39d53ffa4f6",
        "name": "item-6b2e3e",
        "old_name": "Sample Old",
        "parent_user_id": "par_ccd2ec5e323845ba851a25341d",
        "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": "170443TL9F.3959TI"
    }
  32. · POST app request /invocations · deadline holds flagged pays rest · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "tick"
    }'

    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:36:36.133981+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "tick"
    }

    Recorded response · HTTP 200

    {
      "woken": []
    }
  33. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/deadline_holds_flagged_pays_rest/runs · deadline holds flagged pays rest · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/deadline_holds_flagged_pays_rest/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:36.477180+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "deadline_holds_flagged_pays_rest"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_deadline_holds_flagged_pays_rest"
              },
              "attempts": 1,
              "ref": "170443TL9F.3959TI",
              "appliedAt": "2026-10-22T19:36:35.735Z",
              "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": "106e1dcf23bc71e4e6c6a8ba48b4791556ee578b69a7b4333664401f555b988b"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:35.560Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:35.561Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:35.564Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:35.735Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:35.737Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T19:36:35.560Z",
          "updatedAt": "2026-10-22T19:36:35.737Z"
        }
      ]
    }
  34. · POST app request /invocations · deadline holds flagged pays rest · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-deadline-holds-flagged-pays-rest",
        "payrollId": "pr_deadline_holds_flagged_pays_rest",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "deadline_holds_flagged_pays_rest"
      }
    }'

    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:36:36.704502+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-deadline-holds-flagged-pays-rest",
        "payrollId": "pr_deadline_holds_flagged_pays_rest",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "deadline_holds_flagged_pays_rest"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "deadline_holds_flagged_pays_rest"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_deadline_holds_flagged_pays_rest"
          },
          "attempts": 1,
          "ref": "170443TL9F.3959TI",
          "appliedAt": "2026-10-22T19:36:35.735Z",
          "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": "f6b0f174c682bbbd664685fad00f68cf42725436d54a8d29f52a3407870b1228"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:35.560Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:35.561Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:35.564Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:35.735Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:35.737Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T19:36:36.588Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:36:35.560Z",
      "updatedAt": "2026-10-22T19:36:36.588Z",
      "duplicate": true
    }
  35. · POST app request /invocations · deadline holds flagged pays rest · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "tick"
    }'

    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:36:36.935607+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "tick"
    }

    Recorded response · HTTP 200

    {
      "woken": []
    }
  36. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/deadline_holds_flagged_pays_rest/runs · deadline holds flagged pays rest · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/deadline_holds_flagged_pays_rest/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:37.291285+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "deadline-holds-flagged-pays-rest-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "deadline_holds_flagged_pays_rest"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_deadline_holds_flagged_pays_rest"
              },
              "attempts": 1,
              "ref": "170443TL9F.3959TI",
              "appliedAt": "2026-10-22T19:36:35.735Z",
              "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": "f6b0f174c682bbbd664685fad00f68cf42725436d54a8d29f52a3407870b1228"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:35.560Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:35.561Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:35.564Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:35.735Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:35.737Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T19:36:36.588Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:36:35.560Z",
          "updatedAt": "2026-10-22T19:36:36.588Z"
        }
      ]
    }
  37. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/gusto_unavailable_never_submits/runs · gusto unavailable never submits · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/gusto_unavailable_never_submits/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:37.539826+00:00.

    Recorded request headers

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

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-gusto-unavailable-never-submits",
        "payrollId": "pr_gusto_unavailable_never_submits",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "gusto_unavailable_never_submits"
      }
    }'

    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:36:37.944518+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-gusto-unavailable-never-submits",
        "payrollId": "pr_gusto_unavailable_never_submits",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "gusto_unavailable_never_submits"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "gusto_unavailable_never_submits"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_gusto_unavailable_never_submits"
          },
          "attempts": 1,
          "ref": "17JZANJEIJ.5UEQ8G",
          "appliedAt": "2026-10-22T19:36:37.836Z",
          "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": "9897f892ecd088bb4949158e10d345c21b0e7ea06e26716d983799af63f5da75"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:37.660Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:37.661Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:37.663Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:37.836Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:37.838Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-10-22T19:36:37.660Z",
      "updatedAt": "2026-10-22T19:36:37.838Z",
      "duplicate": false
    }
  39. · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request bf6468bf268a · processing 14.78ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/460b43d7b8/api/chat.postMessage' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'content-type: application/json; charset=utf-8' \
      --data-raw '{
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-gusto-unavailable-never-submits: payroll pr_gusto_unavailable_never_submits could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "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.78ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "channel": "C0PAYROLL01",
      "text": ":warning: PAYREV-gusto-unavailable-never-submits: payroll pr_gusto_unavailable_never_submits could not be reviewed (Gusto unreadable). It has not been submitted; check it by hand before the deadline.",
      "unfurl_links": false,
      "unfurl_media": false
    }

    Recorded response · HTTP 200

    {
      "channel": "C0PAYROLL01",
      "message": {
        "bot_id": "bot_481c95ff37304580977fdcaa73",
        "client_msg_id": "cli_3f9c0fce1cfb496dab9b353cc1",
        "name": "item-e38cf1",
        "old_name": "Sample Old",
        "parent_user_id": "par_06364b2df2804a78b77263e87e",
        "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": "17JZANJEIJ.5UEQ8G"
    }
  40. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/gusto_unavailable_never_submits/runs · gusto unavailable never submits · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/gusto_unavailable_never_submits/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:38.275340+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "gusto_unavailable_never_submits"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_gusto_unavailable_never_submits"
              },
              "attempts": 1,
              "ref": "17JZANJEIJ.5UEQ8G",
              "appliedAt": "2026-10-22T19:36:37.836Z",
              "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": "9897f892ecd088bb4949158e10d345c21b0e7ea06e26716d983799af63f5da75"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:37.660Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:37.661Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:37.663Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:37.836Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:37.838Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-10-22T19:36:37.660Z",
          "updatedAt": "2026-10-22T19:36:37.838Z"
        }
      ]
    }
  41. · POST app request /invocations · gusto unavailable never submits · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-gusto-unavailable-never-submits",
        "payrollId": "pr_gusto_unavailable_never_submits",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "gusto_unavailable_never_submits"
      }
    }'

    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:36:38.508000+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "PAYREV-gusto-unavailable-never-submits",
        "payrollId": "pr_gusto_unavailable_never_submits",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "gusto_unavailable_never_submits"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
      "workflow": "payroll-anomaly-review",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "People",
      "team": "payroll-ops",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "gusto_unavailable_never_submits"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "payroll",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "employees",
          "status": "skipped",
          "error": "not configured: gusto",
          "errorCode": "not_configured",
          "durationMs": 0
        },
        {
          "name": "anomalies",
          "status": "failed",
          "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
          "errorCode": "fatal",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "slack.post_blocked",
          "kind": "slack.post_blocked",
          "provider": "slack",
          "agent": "anomalies",
          "gate": "auto",
          "status": "applied",
          "summary": {
            "payroll": "pr_gusto_unavailable_never_submits"
          },
          "attempts": 1,
          "ref": "17JZANJEIJ.5UEQ8G",
          "appliedAt": "2026-10-22T19:36:37.836Z",
          "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": "670834a523d98cf9ef4c13215f86a0c67cc3277d46b55877fd386a78f5fadd84"
      },
      "output": {
        "mode": "blocked"
      },
      "events": [
        {
          "at": "2026-10-22T19:36:37.660Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-10-22T19:36:37.661Z",
          "msg": "agents: payroll=skipped, employees=skipped"
        },
        {
          "at": "2026-10-22T19:36:37.663Z",
          "msg": "planned 1 action(s): 0 need approval"
        },
        {
          "at": "2026-10-22T19:36:37.836Z",
          "msg": "slack.post_blocked: applied"
        },
        {
          "at": "2026-10-22T19:36:37.838Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-10-22T19:36:38.392Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-10-22T19:36:37.660Z",
      "updatedAt": "2026-10-22T19:36:38.392Z",
      "duplicate": true
    }
  42. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/gusto_unavailable_never_submits/runs · gusto unavailable never submits · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/cases/gusto_unavailable_never_submits/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:38.867832+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": "gusto-unavailable-never-submits-vr_42e0d5627b754acda8a2603350d1d9bc",
          "workflow": "payroll-anomaly-review",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "People",
          "team": "payroll-ops",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
            "fs_case": "gusto_unavailable_never_submits"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "payroll",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "employees",
              "status": "skipped",
              "error": "not configured: gusto",
              "errorCode": "not_configured",
              "durationMs": 0
            },
            {
              "name": "anomalies",
              "status": "failed",
              "error": "FatalError: payroll or employees unavailable; nothing will be submitted",
              "errorCode": "fatal",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "slack.post_blocked",
              "kind": "slack.post_blocked",
              "provider": "slack",
              "agent": "anomalies",
              "gate": "auto",
              "status": "applied",
              "summary": {
                "payroll": "pr_gusto_unavailable_never_submits"
              },
              "attempts": 1,
              "ref": "17JZANJEIJ.5UEQ8G",
              "appliedAt": "2026-10-22T19:36:37.836Z",
              "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": "670834a523d98cf9ef4c13215f86a0c67cc3277d46b55877fd386a78f5fadd84"
          },
          "output": {
            "mode": "blocked"
          },
          "events": [
            {
              "at": "2026-10-22T19:36:37.660Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-10-22T19:36:37.661Z",
              "msg": "agents: payroll=skipped, employees=skipped"
            },
            {
              "at": "2026-10-22T19:36:37.663Z",
              "msg": "planned 1 action(s): 0 need approval"
            },
            {
              "at": "2026-10-22T19:36:37.836Z",
              "msg": "slack.post_blocked: applied"
            },
            {
              "at": "2026-10-22T19:36:37.838Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-10-22T19:36:38.392Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-10-22T19:36:37.660Z",
          "updatedAt": "2026-10-22T19:36:38.392Z"
        }
      ]
    }
  43. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/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_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:39.100326+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

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

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "invalid-input-rejected-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "october",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "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:36:39.338500+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "invalid-input-rejected-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "october",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "invalid_input_rejected"
      }
    }

    Recorded response · HTTP 400

    {
      "error": "invalid input",
      "issues": [
        "reviewId: review id like PAYREV-2026-10-31"
      ]
    }
  45. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/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_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:39.661049+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_42e0d5627b754acda8a2603350d1d9bc",
      "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": []
    }
  46. · 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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_42e0d5627b754acda8a2603350d1d9bc' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "invalid-input-rejected-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "october",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "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:36:39.890279+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "invalid-input-rejected-vr_42e0d5627b754acda8a2603350d1d9bc",
      "input": {
        "reviewId": "october",
        "payrollId": "pr_baseline",
        "preparer": "U_PREP",
        "reviewers": [
          "U_PREP",
          "U_CONTROLLER"
        ],
        "payrollChannel": "C0PAYROLL01"
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_42e0d5627b754acda8a2603350d1d9bc",
        "fs_case": "invalid_input_rejected"
      }
    }

    Recorded response · HTTP 400

    {
      "error": "invalid input",
      "issues": [
        "reviewId: review id like PAYREV-2026-10-31"
      ]
    }
  47. · GET app request /verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/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/e78a39e11ab04700a9f742045a7a485386dfdc7571be360a/verify/runs/vr_42e0d5627b754acda8a2603350d1d9bc/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_42e0d5627b754acda8a2603350d1d9bc' \
      --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:36:40.230888+00:00.

    Recorded request headers

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