Skip to main content

Application workflow · application_workflow_v1

Workflow verification 16/16

Verified within scope

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.

Passed

16

Failed

0

Not checked

0

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

Coverage beyond the declared checks

Passing these checks does not establish every production behavior.

  • Normal successful behavior · Linked checks passed · baseline, facebook, held
  • The right user gets the right access · Linked checks passed · wrong_reviewer, business
  • Valid data and boundary values · Linked checks passed · budget, destination
  • Correct amount, currency and quantity · Linked checks passed · budget
  • Duplicate requests and events · Linked checks passed · replay
  • Requests arriving together · Proposed as not applicable
  • Out-of-order and stale events · Proposed as not applicable
  • Delayed or missing events · Proposed as not applicable
  • Provider authentication and permissions · Linked checks passed · provider_auth
  • Rate limits, server failures and timeouts · Linked checks passed · campaign_loss, adset_loss, creative_loss, ad_loss
  • Completed action with a lost response · Linked checks passed · campaign_loss, adset_loss, creative_loss, ad_loss
  • Partial completion and recovery · Linked checks passed · campaign_loss, adset_loss, creative_loss, ad_loss, unknown
  • Restart without losing or duplicating work · Linked checks passed · restart
  • Finding and repairing inconsistent state · Linked checks passed · baseline, campaign_loss, adset_loss, creative_loss, ad_loss
  • Cancellation, refunds and access · Proposed as not applicable
  • Data ownership and privacy · Linked checks passed · business, destination
  • Test isolation and cleanup · Proposed as not applicable

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

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

16 passed · 0 failed · 0 not checked

What we checked

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

  • 01Instagram preparation creates one linked paused hierarchy after approval
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:17.810051+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "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-11-01T17:30:18.061567+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:17.844Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:19.294762+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:19.076Z",
      "result": "recorded"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

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

    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-11-01T17:30:20.118690+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.407Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.515Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.490Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.830Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:19.830Z"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:20.547287+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "baseline"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 15
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "25710766577462967",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:18.455Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.407Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17142056123518516",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:18.642Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.515Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:069316b3ce1f6015b1b737cd",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "22292208169326409",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
              },
              "appliedAt": "2026-11-01T17:30:18.858Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.490Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16239760874847237",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:19.074Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.830Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:17.843Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:18.072Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:17.824Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:17.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:17.843Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:17.844Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:18.072Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:18.455Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:18.643Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:18.858Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:19.830Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:30:17.824Z",
          "updatedAt": "2026-11-01T17:30:19.830Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "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-11-01T17:30:20.771015+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.407Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.515Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.490Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.830Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:30:20.548Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:20.548Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:20.972914+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.407Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.515Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.490Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.830Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:30:20.548Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:20.759Z",
      "result": "already_decided"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

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

    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-11-01T17:30:21.392751+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.120Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.165Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.144Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:30:20.548Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:21.165Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:21.165Z"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:21.718217+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "baseline"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 15
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "25710766577462967",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:18.455Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.109Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17142056123518516",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:18.642Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.120Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:069316b3ce1f6015b1b737cd",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "22292208169326409",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
              },
              "appliedAt": "2026-11-01T17:30:18.858Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.165Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16239760874847237",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:19.074Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.144Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:17.843Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:18.072Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:17.824Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:17.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:17.843Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:17.844Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:18.072Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:18.455Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:18.643Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:18.858Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:19.830Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:30:20.548Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:30:21.165Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:30:17.824Z",
          "updatedAt": "2026-11-01T17:30:21.165Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (16)

    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.

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.86ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "25710766577462967"
    }
    meta-marketing · GET /v26.0/25710766577462967 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/25710766577462967' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "25710766577462967",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.12ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "17142056123518516"
    }
    meta-marketing · GET /v26.0/17142056123518516 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17142056123518516' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17142056123518516",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola baseline vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola baseline vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "22292208169326409"
    }
    meta-marketing · GET /v26.0/22292208169326409 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/22292208169326409' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "22292208169326409",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": "{\"creative_id\":\"22292208169326409\"}",
      "status": "PAUSED"
    }'

    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: 1.09ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": "{\"creative_id\":\"22292208169326409\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "16239760874847237"
    }
    meta-marketing · GET /v26.0/16239760874847237 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16239760874847237' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16239760874847237",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": {
        "id": "22292208169326409"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/25710766577462967 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/25710766577462967' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "25710766577462967",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/22292208169326409 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/22292208169326409' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "22292208169326409",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/17142056123518516 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17142056123518516' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17142056123518516",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/16239760874847237 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16239760874847237' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16239760874847237",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": {
        "id": "22292208169326409"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/25710766577462967 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/25710766577462967' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "25710766577462967",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/17142056123518516 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17142056123518516' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17142056123518516",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/16239760874847237 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16239760874847237' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16239760874847237",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": {
        "id": "22292208169326409"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/22292208169326409 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/22292208169326409' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "22292208169326409",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    Passed
  • 02No preparation writes before owner approval
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:21.919262+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }'

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

    Target URL recorded at execution. Response finished: 2026-11-01T17:30:22.109107+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:979b9887b0521cc66966ae00",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:21.917Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:21.915Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:21.916Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:21.915Z",
      "updatedAt": "2026-11-01T17:30:21.917Z",
      "duplicate": false
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:22.448000+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "held-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "held"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:979b9887b0521cc66966ae00",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:21.917Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:21.915Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:21.916Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "awaiting approval"
            }
          ],
          "createdAt": "2026-11-01T17:30:21.915Z",
          "updatedAt": "2026-11-01T17:30:21.917Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }'

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

    Target URL recorded at execution. Response finished: 2026-11-01T17:30:22.675340+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:979b9887b0521cc66966ae00",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:21.917Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:21.915Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:21.916Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:22.472Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:21.915Z",
      "updatedAt": "2026-11-01T17:30:22.472Z",
      "duplicate": true
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:22.982474+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "held-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "held"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:979b9887b0521cc66966ae00",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:21.917Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:21.915Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:21.916Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:22.472Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:21.915Z",
          "updatedAt": "2026-11-01T17:30:22.472Z"
        }
      ]
    }
    Passed
  • 03Facebook feed uses the same approval and preparation boundaries
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:23.213473+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }'

    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-11-01T17:30:23.433184+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:23.224Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:24.905042+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17039868983718644",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:23.675Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "32827713751076767",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:23.897Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "93699467285654729",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
          },
          "appliedAt": "2026-11-01T17:30:24.422Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21725925375523777",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:24.705Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:23.432Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:23.432Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:23.675Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:23.898Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:24.423Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:24.705Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:24.706Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:24.706Z",
      "result": "recorded"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:25.277135+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "facebook"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17039868983718644",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:23.675Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "32827713751076767",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:23.897Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:4d1a7a974137c94edcc44a62",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "93699467285654729",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
              },
              "appliedAt": "2026-11-01T17:30:24.422Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21725925375523777",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:24.705Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:23.224Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:23.432Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:23.222Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:23.224Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:23.432Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:23.675Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:23.898Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:24.423Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:24.705Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:24.706Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-11-01T17:30:23.222Z",
          "updatedAt": "2026-11-01T17:30:24.706Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }'

    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-11-01T17:30:25.520002+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17039868983718644",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:23.675Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "32827713751076767",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:23.897Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "93699467285654729",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
          },
          "appliedAt": "2026-11-01T17:30:24.422Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21725925375523777",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:24.705Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:23.432Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:23.432Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:23.675Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:23.898Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:24.423Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:24.705Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:24.706Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:25.302Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:25.302Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:25.723570+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17039868983718644",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:23.675Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "32827713751076767",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:23.897Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "93699467285654729",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
          },
          "appliedAt": "2026-11-01T17:30:24.422Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21725925375523777",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:24.705Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:23.432Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:23.432Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:23.675Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:23.898Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:24.423Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:24.705Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:24.706Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:25.302Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:25.518Z",
      "result": "already_decided"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:26.090459+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "facebook"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17039868983718644",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:23.675Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "32827713751076767",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:23.897Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:4d1a7a974137c94edcc44a62",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "93699467285654729",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
              },
              "appliedAt": "2026-11-01T17:30:24.422Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21725925375523777",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:24.705Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:23.224Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:23.432Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:23.222Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:23.224Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:23.432Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:23.675Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:23.898Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:24.423Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:24.705Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:24.706Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:25.302Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:23.222Z",
          "updatedAt": "2026-11-01T17:30:25.518Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (8)

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

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "17039868983718644"
    }
    meta-marketing · GET /v26.0/17039868983718644 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17039868983718644' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17039868983718644",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "17039868983718644",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"facebook\"],\"facebook_positions\":[\"feed\"]}",
      "status": "PAUSED"
    }'

    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: 1.1ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "17039868983718644",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"facebook\"],\"facebook_positions\":[\"feed\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "32827713751076767"
    }
    meta-marketing · GET /v26.0/32827713751076767 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32827713751076767' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32827713751076767",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "17039868983718644",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "facebook"
        ],
        "facebook_positions": [
          "feed"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
      "object_story_spec": "{\"page_id\":\"4001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola facebook vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
      "object_story_spec": "{\"page_id\":\"4001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola facebook vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "93699467285654729"
    }
    meta-marketing · GET /v26.0/93699467285654729 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/93699467285654729' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "93699467285654729",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729",
      "object_story_spec": {
        "page_id": "4001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "32827713751076767",
      "creative": "{\"creative_id\":\"93699467285654729\"}",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "32827713751076767",
      "creative": "{\"creative_id\":\"93699467285654729\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21725925375523777"
    }
    meta-marketing · GET /v26.0/21725925375523777 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21725925375523777' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21725925375523777",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "32827713751076767",
      "creative": {
        "id": "93699467285654729"
      },
      "status": "PAUSED"
    }
    Passed
  • 04Rejected preparation creates no objects
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:26.319269+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "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-11-01T17:30:26.607438+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:26.314Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }'

    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-11-01T17:30:26.818127+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "REJECTED",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 4,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z",
        "decision": "reject",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:26.616Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:26.616Z",
          "msg": "rejected by U_AD_OWNER"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:26.616Z",
      "result": "recorded"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:27.296083+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "REJECTED",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "rejected"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 4,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:26.314Z",
            "decision": "reject",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:26.616Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:26.307Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:26.309Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:26.312Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:26.314Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:26.616Z",
              "msg": "rejected by U_AD_OWNER"
            }
          ],
          "createdAt": "2026-11-01T17:30:26.307Z",
          "updatedAt": "2026-11-01T17:30:26.616Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "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-11-01T17:30:27.644000+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "REJECTED",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 4,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z",
        "decision": "reject",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:26.616Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:26.616Z",
          "msg": "rejected by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:27.291Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:27.291Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }'

    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-11-01T17:30:27.894617+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "REJECTED",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 4,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z",
        "decision": "reject",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:26.616Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:26.616Z",
          "msg": "rejected by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:27.291Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:27.637Z",
      "result": "already_decided"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:28.213947+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "REJECTED",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "rejected"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 4,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:26.314Z",
            "decision": "reject",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:26.616Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:26.307Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:26.309Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:26.312Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:26.314Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:26.616Z",
              "msg": "rejected by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:27.291Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:26.307Z",
          "updatedAt": "2026-11-01T17:30:27.637Z"
        }
      ]
    }
    Passed
  • 05An unconfigured reviewer cannot release preparation
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:28.423974+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }'

    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-11-01T17:30:28.636607+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:28.435Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 403

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "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-11-01T17:30:28.831805+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "approve"
    }

    Recorded response · HTTP 403

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:28.632Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:28.632Z",
      "result": "forbidden"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:29.125242+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "wrong_reviewer"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:d4d8f8caae6973a65812db51",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:28.435Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:28.430Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:28.432Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:28.434Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:28.435Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:28.632Z",
              "msg": "decision by U_STRANGER refused: not an approver"
            }
          ],
          "createdAt": "2026-11-01T17:30:28.430Z",
          "updatedAt": "2026-11-01T17:30:28.632Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }'

    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-11-01T17:30:29.323081+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:28.632Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        },
        {
          "at": "2026-11-01T17:30:29.114Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:29.114Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 403

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "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-11-01T17:30:29.539921+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "approve"
    }

    Recorded response · HTTP 403

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:28.632Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        },
        {
          "at": "2026-11-01T17:30:29.114Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:29.324Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:29.324Z",
      "result": "forbidden"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:29.854732+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "wrong_reviewer"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:d4d8f8caae6973a65812db51",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:28.435Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:28.430Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:28.432Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:28.434Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:28.435Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:28.632Z",
              "msg": "decision by U_STRANGER refused: not an approver"
            },
            {
              "at": "2026-11-01T17:30:29.114Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:30:29.324Z",
              "msg": "decision by U_STRANGER refused: not an approver"
            }
          ],
          "createdAt": "2026-11-01T17:30:28.430Z",
          "updatedAt": "2026-11-01T17:30:29.324Z"
        }
      ]
    }
    Passed
  • 06Approval replay does not repeat any of the four writes
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:30.109223+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }'

    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-11-01T17:30:30.328918+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:30.119Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:31.628779+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:31.417Z",
      "result": "recorded"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:31.906285+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:31.639Z",
      "result": "already_decided"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:32.214709+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "replay-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "replay"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 1
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "46842285852969420",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:30.660Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21150146858514222",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:30.914Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:c46b333decf26eb8b603d184",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "23983775257341426",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
              },
              "appliedAt": "2026-11-01T17:30:31.173Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26252057343736697",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:31.415Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:30.119Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:30.315Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:30.112Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:30.115Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:30.117Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:30.119Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:30.315Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:30.661Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:30.914Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:31.173Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:31.415Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:31.417Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-11-01T17:30:30.112Z",
          "updatedAt": "2026-11-01T17:30:31.639Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }'

    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-11-01T17:30:32.465853+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:32.218Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:32.218Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:32.673393+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:32.218Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:32.465Z",
      "result": "already_decided"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:32.965559+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:32.218Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:32.731Z",
      "result": "already_decided"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:33.284160+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "replay-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "replay"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 1
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "46842285852969420",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:30.660Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21150146858514222",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:30.914Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:c46b333decf26eb8b603d184",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "23983775257341426",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
              },
              "appliedAt": "2026-11-01T17:30:31.173Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26252057343736697",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:31.415Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:30.119Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:30.315Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:30.112Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:30.115Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:30.117Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:30.119Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:30.315Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:30.661Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:30.914Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:31.173Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:31.415Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:31.417Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:32.218Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:30.112Z",
          "updatedAt": "2026-11-01T17:30:32.731Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (8)

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

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.04ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "46842285852969420"
    }
    meta-marketing · GET /v26.0/46842285852969420 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/46842285852969420' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "46842285852969420",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "46842285852969420",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.13ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "46842285852969420",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21150146858514222"
    }
    meta-marketing · GET /v26.0/21150146858514222 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21150146858514222' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21150146858514222",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "46842285852969420",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola replay vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.09ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola replay vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "23983775257341426"
    }
    meta-marketing · GET /v26.0/23983775257341426 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/23983775257341426' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "23983775257341426",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "21150146858514222",
      "creative": "{\"creative_id\":\"23983775257341426\"}",
      "status": "PAUSED"
    }'

    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: 1.02ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "21150146858514222",
      "creative": "{\"creative_id\":\"23983775257341426\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "26252057343736697"
    }
    meta-marketing · GET /v26.0/26252057343736697 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26252057343736697' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26252057343736697",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "21150146858514222",
      "creative": {
        "id": "23983775257341426"
      },
      "status": "PAUSED"
    }
    Passed
  • 07Above-policy daily budget creates nothing
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:33.489955+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }'

    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-11-01T17:30:33.686436+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 1
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1001
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:33.494Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:33.496Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:33.494Z",
      "updatedAt": "2026-11-01T17:30:33.497Z",
      "duplicate": false
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:33.992249+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "budget-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "budget"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 1
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1001
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:33.494Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:33.496Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:33.494Z",
          "updatedAt": "2026-11-01T17:30:33.497Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }'

    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-11-01T17:30:34.189768+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 1
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1001
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:33.494Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:33.496Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:33.990Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:33.494Z",
      "updatedAt": "2026-11-01T17:30:33.990Z",
      "duplicate": true
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:34.485973+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "budget-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "budget"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 1
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1001
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:33.494Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:33.496Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:33.990Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:33.494Z",
          "updatedAt": "2026-11-01T17:30:33.990Z"
        }
      ]
    }
    Passed
  • 08Wrong organization creates nothing
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:34.704881+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }'

    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-11-01T17:30:34.910678+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Other business",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:34.702Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:34.707Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:34.708Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:34.710Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:34.702Z",
      "updatedAt": "2026-11-01T17:30:34.710Z",
      "duplicate": false
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:35.218111+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "business-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "business"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Other business",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:34.702Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:34.707Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:34.708Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:34.710Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:34.702Z",
          "updatedAt": "2026-11-01T17:30:34.710Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }'

    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-11-01T17:30:35.421594+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Other business",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:34.702Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:34.707Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:34.708Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:34.710Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:35.215Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:34.702Z",
      "updatedAt": "2026-11-01T17:30:35.215Z",
      "duplicate": true
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:35.732676+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "business-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "business"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Other business",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:34.702Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:34.707Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:34.708Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:34.710Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:35.215Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:34.702Z",
          "updatedAt": "2026-11-01T17:30:35.215Z"
        }
      ]
    }
    Passed
  • 09Unapproved destination creates nothing
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:35.931359+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }'

    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-11-01T17:30:36.137294+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://unapproved.test/",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:35.929Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:35.934Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:35.936Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:35.938Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:35.929Z",
      "updatedAt": "2026-11-01T17:30:35.938Z",
      "duplicate": false
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:36.441231+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "destination-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "destination"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://unapproved.test/",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:35.929Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:35.934Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:35.936Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:35.938Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:35.929Z",
          "updatedAt": "2026-11-01T17:30:35.938Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }'

    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-11-01T17:30:36.653861+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://unapproved.test/",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:35.929Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:35.934Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:35.936Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:35.938Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:36.448Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:35.929Z",
      "updatedAt": "2026-11-01T17:30:36.448Z",
      "duplicate": true
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:36.940380+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "destination-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "destination"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://unapproved.test/",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:35.929Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:35.934Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:35.936Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:35.938Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:36.448Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:35.929Z",
          "updatedAt": "2026-11-01T17:30:36.448Z"
        }
      ]
    }
    Passed
  • 10Provider authentication refusal cannot create objects
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:37.123104+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }'

    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-11-01T17:30:37.333677+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:37.134Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:37.771842+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
          "errorCode": "meta:unauthorized",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:37.336Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:37.336Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:37.558Z",
          "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
        },
        {
          "at": "2026-11-01T17:30:37.565Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.571Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.575Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.576Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:37.576Z",
      "result": "recorded"
    }
    meta-marketing twin · POST /v26.0/act_1001/campaigns → HTTP 401

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 401

    {
      "errors": [
        {
          "status": "401",
          "code": "unauthorized",
          "detail": "Invalid API key or expired credentials"
        }
      ]
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:38.058398+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "provider_auth"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
              "errorCode": "meta:unauthorized",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 4,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:37.134Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:37.336Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:37.128Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:37.132Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:37.133Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:37.134Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:37.336Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:37.558Z",
              "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
            },
            {
              "at": "2026-11-01T17:30:37.565Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.571Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.575Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.576Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:37.128Z",
          "updatedAt": "2026-11-01T17:30:37.576Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }'

    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-11-01T17:30:38.298418+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
          "errorCode": "meta:unauthorized",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:37.336Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:37.336Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:37.558Z",
          "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
        },
        {
          "at": "2026-11-01T17:30:37.565Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.571Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.575Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.576Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:38.051Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:38.051Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:38.514576+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
          "errorCode": "meta:unauthorized",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:37.336Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:37.336Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:37.558Z",
          "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
        },
        {
          "at": "2026-11-01T17:30:37.565Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.571Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.575Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.576Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:38.051Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:38.303Z",
      "result": "already_decided"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:38.820107+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "provider_auth"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
              "errorCode": "meta:unauthorized",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 4,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:37.134Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:37.336Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:37.128Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:37.132Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:37.133Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:37.134Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:37.336Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:37.558Z",
              "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
            },
            {
              "at": "2026-11-01T17:30:37.565Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.571Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.575Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.576Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:38.051Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:37.128Z",
          "updatedAt": "2026-11-01T17:30:38.303Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (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.

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 401

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 401

    {
      "errors": [
        {
          "status": "401",
          "code": "unauthorized",
          "detail": "Invalid API key or expired credentials"
        }
      ]
    }
    Passed
  • 11Unavailable read-back leaves the accepted ad unresolved and never resends
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:39.023082+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }'

    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-11-01T17:30:39.263852+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:39.059Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:42.245480+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/ads: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:42.026Z",
      "result": "recorded"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

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

    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-11-01T17:30:43.172930+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:42.962Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

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

    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-11-01T17:30:43.898247+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 3,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:43.687Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:44.204951+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "unknown"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18267145293836010",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:39.527Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16520509931494418",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:39.771Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:f08c996822328d15c6eddef0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "15647485004322415",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
              },
              "appliedAt": "2026-11-01T17:30:40.012Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 3,
              "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
              "errorCode": "meta:readback_unavailable",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 3,
            "failed": 1,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:39.059Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:39.282Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:39.050Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:39.054Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:39.057Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:39.059Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:39.282Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:39.528Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:39.772Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:40.012Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:42.024Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:30:42.026Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:42.962Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:43.687Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            }
          ],
          "createdAt": "2026-11-01T17:30:39.050Z",
          "updatedAt": "2026-11-01T17:30:43.687Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }'

    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-11-01T17:30:44.419560+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 3,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:44.214Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:44.644300+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 3,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:44.436Z",
      "result": "already_decided"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

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

    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-11-01T17:30:45.684671+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 4,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:45.487Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:45.487Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

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

    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-11-01T17:30:46.341594+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 5,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:45.487Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:46.137Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:46.137Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing twin · GET /v26.0/act_1001/ads → HTTP 503

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:46.645257+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "unknown"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18267145293836010",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:39.527Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16520509931494418",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:39.771Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:f08c996822328d15c6eddef0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "15647485004322415",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
              },
              "appliedAt": "2026-11-01T17:30:40.012Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 5,
              "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
              "errorCode": "meta:readback_unavailable",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 3,
            "failed": 1,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:39.059Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:39.282Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:39.050Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:39.054Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:39.057Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:39.059Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:39.282Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:39.528Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:39.772Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:40.012Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:42.024Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:30:42.026Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:42.962Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:43.687Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:44.213Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:30:45.487Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:46.137Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            }
          ],
          "createdAt": "2026-11-01T17:30:39.050Z",
          "updatedAt": "2026-11-01T17:30:46.137Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (19)

    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.

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.08ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18267145293836010"
    }
    meta-marketing · GET /v26.0/18267145293836010 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18267145293836010' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18267145293836010",
      "account_id": "1001",
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18267145293836010",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.17ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18267145293836010",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "16520509931494418"
    }
    meta-marketing · GET /v26.0/16520509931494418 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16520509931494418' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16520509931494418",
      "account_id": "1001",
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18267145293836010",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola unknown vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.08ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola unknown vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "15647485004322415"
    }
    meta-marketing · GET /v26.0/15647485004322415 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/15647485004322415' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "15647485004322415",
      "account_id": "1001",
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "16520509931494418",
      "creative": "{\"creative_id\":\"15647485004322415\"}",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "16520509931494418",
      "creative": "{\"creative_id\":\"15647485004322415\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "28766098831822090"
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 503

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
    Passed
  • 12A real worker restart preserves the review and subsequent effects
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:46.834892+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }'

    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-11-01T17:30:47.043176+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:30:46.848Z",
      "duplicate": false
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:47.418913+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:47.627145+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:48.066658+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:48.505069+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:48.936906+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:49.383794+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:49.829693+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:50.265335+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:50.830307+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:51.290435+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:51.743329+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:52.173336+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:52.607472+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:53.045903+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:53.511811+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:53.952368+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:54.383337+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:54.831216+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:55.318385+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:55.759031+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:56.263292+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:56.697488+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:57.122364+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:57.573893+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
    Your app · GET /verify/runtime → HTTP 502

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:58.021620+00:00.

    Recorded request headers

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

    Recorded response headers

    {
      "content-type": "text/html; charset=UTF-8",
      "content-length": "6418",
      "retry-after": "60"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 502

    {
      "_non_json_response": true
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:58.454415+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:59.819681+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21582393652627058",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:58.873Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "24211455430065285",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:59.150Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17307368547137652",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
          },
          "appliedAt": "2026-11-01T17:30:59.344Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "37650103639111549",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:59.575Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:58.457Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:58.457Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:58.873Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:59.150Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:59.345Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:59.576Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:59.579Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:30:59.579Z",
      "result": "recorded"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:00.260064+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "restart-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "restart"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21582393652627058",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:58.873Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "24211455430065285",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:59.150Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:19511219c959ee036040f4c4",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17307368547137652",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
              },
              "appliedAt": "2026-11-01T17:30:59.344Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "37650103639111549",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:59.575Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:46.848Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:58.457Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:46.839Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:46.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:46.845Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:46.848Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:58.457Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:58.873Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:59.150Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:59.345Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:59.576Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:59.579Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-11-01T17:30:46.839Z",
          "updatedAt": "2026-11-01T17:30:59.579Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }'

    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-11-01T17:31:00.507471+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21582393652627058",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:58.873Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "24211455430065285",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:59.150Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17307368547137652",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
          },
          "appliedAt": "2026-11-01T17:30:59.344Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "37650103639111549",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:59.575Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:58.457Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:58.457Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:58.873Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:59.150Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:59.345Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:59.576Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:59.579Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:31:00.293Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:31:00.293Z",
      "duplicate": true
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:00.701604+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:00.883728+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:01.443371+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:02.078166+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:02.686955+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:03.230035+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:03.726297+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:04.217172+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:04.667497+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:05.148020+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:05.585023+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:06.070472+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:06.519303+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:07.000454+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:07.451352+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:07.876755+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:08.326236+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:08.784464+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:09.223893+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:09.656863+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:10.118396+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:10.725660+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
    Your app · GET /verify/runtime → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:11.179539+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "b79f22f9-61b2-44ef-8663-f6a182dd5624",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:31:10.575Z"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:11.404754+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21582393652627058",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:58.873Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "24211455430065285",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:59.150Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17307368547137652",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
          },
          "appliedAt": "2026-11-01T17:30:59.344Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "37650103639111549",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:59.575Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:58.457Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:58.457Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:58.873Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:59.150Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:59.345Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:59.576Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:59.579Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:31:00.293Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:31:11.195Z",
      "result": "already_decided"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:11.715533+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "restart-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "restart"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21582393652627058",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:58.873Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "24211455430065285",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:59.150Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:19511219c959ee036040f4c4",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17307368547137652",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
              },
              "appliedAt": "2026-11-01T17:30:59.344Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "37650103639111549",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:59.575Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:46.848Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:58.457Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:46.839Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:46.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:46.845Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:46.848Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:58.457Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:58.873Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:59.150Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:59.345Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:59.576Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:59.579Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:31:00.293Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:46.839Z",
          "updatedAt": "2026-11-01T17:31:11.195Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (8)

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

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21582393652627058"
    }
    meta-marketing · GET /v26.0/21582393652627058 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21582393652627058' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21582393652627058",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "21582393652627058",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.11ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "21582393652627058",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "24211455430065285"
    }
    meta-marketing · GET /v26.0/24211455430065285 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/24211455430065285' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "24211455430065285",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "21582393652627058",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola restart vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.24ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola restart vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "17307368547137652"
    }
    meta-marketing · GET /v26.0/17307368547137652 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17307368547137652' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17307368547137652",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "24211455430065285",
      "creative": "{\"creative_id\":\"17307368547137652\"}",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "24211455430065285",
      "creative": "{\"creative_id\":\"17307368547137652\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "37650103639111549"
    }
    meta-marketing · GET /v26.0/37650103639111549 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/37650103639111549' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "37650103639111549",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "24211455430065285",
      "creative": {
        "id": "17307368547137652"
      },
      "status": "PAUSED"
    }
    Passed
  • 13Accepted campaigns response loss recovers without resending
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:11.898304+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }'

    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-11-01T17:31:12.248916+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:11.909Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:14.501300+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/campaigns: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:14.279Z",
      "result": "recorded"
    }
    meta-marketing twin · POST /v26.0/act_1001/campaigns → HTTP 200

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "14543977939770676"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:15.799251+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:15.588Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/14543977939770676 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:16.366422+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:16.149Z"
    }
    meta-marketing twin · GET /v26.0/14543977939770676 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:21.827514+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "campaign_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 12
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "14543977939770676",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:14.755Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.004Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18900659600586892",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:15.034Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.109Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "31134973727666780",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
              },
              "appliedAt": "2026-11-01T17:31:15.294Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.148Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "32464889932009609",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:15.588Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.137Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:11.909Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:12.242Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:11.893Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:11.907Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:11.908Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:11.909Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:12.242Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:14.266Z",
              "msg": "meta.prepare_campaigns: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:14.271Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.275Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.278Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.279Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:14.755Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:15.034Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:15.295Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:15.588Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:16.149Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:11.893Z",
          "updatedAt": "2026-11-01T17:31:16.149Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }'

    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-11-01T17:31:22.068088+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:21.852Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:22.313028+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:22.086Z",
      "result": "already_decided"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:22.555386+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:22.086Z",
      "result": "nothing_to_resume"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:23.119582+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.847Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.888Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.873Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.825Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:31:22.889Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:22.889Z"
    }
    meta-marketing twin · GET /v26.0/14543977939770676 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:28.628271+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "campaign_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 12
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "14543977939770676",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:14.755Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.847Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18900659600586892",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:15.034Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.888Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "31134973727666780",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
              },
              "appliedAt": "2026-11-01T17:31:15.294Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.873Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "32464889932009609",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:15.588Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.825Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:11.909Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:12.242Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:11.893Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:11.907Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:11.908Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:11.909Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:12.242Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:14.266Z",
              "msg": "meta.prepare_campaigns: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:14.271Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.275Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.278Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.279Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:14.755Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:15.034Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:15.295Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:15.588Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:16.149Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:31:21.852Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:31:22.889Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:11.893Z",
          "updatedAt": "2026-11-01T17:31:22.889Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (17)

    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.

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "14543977939770676"
    }
    meta-marketing · GET /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "14543977939770676",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "17039868983718644",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "18267145293836010",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "21582393652627058",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "25710766577462967",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "46842285852969420",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "6001",
          "account_id": "1001",
          "name": "Acme existing traffic fixture",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        }
      ]
    }
    meta-marketing · GET /v26.0/14543977939770676 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.19ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18900659600586892"
    }
    meta-marketing · GET /v26.0/18900659600586892 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18900659600586892' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18900659600586892",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.03ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "31134973727666780"
    }
    meta-marketing · GET /v26.0/31134973727666780 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/31134973727666780' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "31134973727666780",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": "{\"creative_id\":\"31134973727666780\"}",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": "{\"creative_id\":\"31134973727666780\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "32464889932009609"
    }
    meta-marketing · GET /v26.0/32464889932009609 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32464889932009609' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32464889932009609",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": {
        "id": "31134973727666780"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/14543977939770676 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/18900659600586892 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18900659600586892' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18900659600586892",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/32464889932009609 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32464889932009609' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32464889932009609",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": {
        "id": "31134973727666780"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/31134973727666780 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/31134973727666780' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "31134973727666780",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/32464889932009609 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32464889932009609' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32464889932009609",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": {
        "id": "31134973727666780"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/14543977939770676 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/31134973727666780 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/31134973727666780' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "31134973727666780",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/18900659600586892 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18900659600586892' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18900659600586892",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    Passed
  • 14Accepted adsets response loss recovers without resending
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:28.851867+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }'

    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-11-01T17:31:29.066657+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:28.866Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:31.707582+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/adsets: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 3,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:31.447Z",
      "result": "recorded"
    }
    meta-marketing twin · POST /v26.0/act_1001/adsets → HTTP 200

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "36328921480164454"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:32.763791+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:32.519Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/36328921480164454 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:33.558706+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:33.320Z"
    }
    meta-marketing twin · GET /v26.0/36328921480164454 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:38.957003+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "adset_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18095156095656295",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:29.415Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:32.875Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "36328921480164454",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:31.986Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:33.066Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "82029082710701786",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
              },
              "appliedAt": "2026-11-01T17:31:32.269Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:32.996Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18268396865905235",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:32.518Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:33.320Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:28.866Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:29.070Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:28.858Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:28.861Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:28.864Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:28.866Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:29.070Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:29.415Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:31.430Z",
              "msg": "meta.prepare_adsets: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:31.438Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.446Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.447Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:31.986Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:32.270Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:32.519Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:33.320Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:28.858Z",
          "updatedAt": "2026-11-01T17:31:33.320Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }'

    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-11-01T17:31:39.214763+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:38.973Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:39.442260+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:39.213Z",
      "result": "already_decided"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:39.700900+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:39.213Z",
      "result": "nothing_to_resume"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:40.259259+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:39.936Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:40.028Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:39.965Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:39.986Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:31:40.029Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:40.029Z"
    }
    meta-marketing twin · GET /v26.0/36328921480164454 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:45.571042+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "adset_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18095156095656295",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:29.415Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:39.936Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "36328921480164454",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:31.986Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:40.028Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "82029082710701786",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
              },
              "appliedAt": "2026-11-01T17:31:32.269Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:39.965Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18268396865905235",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:32.518Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:39.986Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:28.866Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:29.070Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:28.858Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:28.861Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:28.864Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:28.866Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:29.070Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:29.415Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:31.430Z",
              "msg": "meta.prepare_adsets: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:31.438Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.446Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.447Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:31.986Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:32.270Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:32.519Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:33.320Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:31:38.973Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:31:40.029Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:28.858Z",
          "updatedAt": "2026-11-01T17:31:40.029Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (17)

    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.

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.01ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18095156095656295"
    }
    meta-marketing · GET /v26.0/18095156095656295 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18095156095656295' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18095156095656295",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.14ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "36328921480164454"
    }
    meta-marketing · GET /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    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: 1.16ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "16520509931494418",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "18267145293836010",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "17142056123518516",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "25710766577462967",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "18900659600586892",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "14543977939770676",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "2001",
          "account_id": "1001",
          "name": "Acme pergola inquiries TEST",
          "campaign_id": "6001",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ]
            },
            "publisher_platforms": [
              "facebook"
            ],
            "facebook_positions": [
              "feed"
            ]
          },
          "status": "PAUSED"
        },
        {
          "id": "21150146858514222",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "46842285852969420",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "24211455430065285",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "21582393652627058",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "32827713751076767",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "17039868983718644",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "facebook"
            ],
            "facebook_positions": [
              "feed"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "36328921480164454",
          "account_id": "1001",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "18095156095656295",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        }
      ]
    }
    meta-marketing · GET /v26.0/36328921480164454 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.09ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "82029082710701786"
    }
    meta-marketing · GET /v26.0/82029082710701786 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/82029082710701786' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "82029082710701786",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": "{\"creative_id\":\"82029082710701786\"}",
      "status": "PAUSED"
    }'

    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: 1ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": "{\"creative_id\":\"82029082710701786\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18268396865905235"
    }
    meta-marketing · GET /v26.0/18268396865905235 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18268396865905235' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18268396865905235",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": {
        "id": "82029082710701786"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/18095156095656295 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18095156095656295' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18095156095656295",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/82029082710701786 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/82029082710701786' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "82029082710701786",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/18268396865905235 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18268396865905235' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18268396865905235",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": {
        "id": "82029082710701786"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/36328921480164454 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/18095156095656295 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18095156095656295' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18095156095656295",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/82029082710701786 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/82029082710701786' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "82029082710701786",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/18268396865905235 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18268396865905235' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18268396865905235",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": {
        "id": "82029082710701786"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/36328921480164454 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    Passed
  • 15Accepted adcreatives response loss recovers without resending
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:45.777627+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }'

    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-11-01T17:31:45.987370+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:45.784Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:48.923863+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/adcreatives: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 2,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:48.723Z",
      "result": "recorded"
    }
    meta-marketing twin · POST /v26.0/act_1001/adcreatives → HTTP 200

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "27749731850228446"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:49.554326+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:49.356Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/27749731850228446 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:50.015236+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:49.797Z"
    }
    meta-marketing twin · GET /v26.0/27749731850228446 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:55.331443+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "creative_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 3
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26611209366716264",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:46.443Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.651Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26240558367376448",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:46.711Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.765Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:75b90e4b790d44112725e4a7",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "27749731850228446",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
              },
              "appliedAt": "2026-11-01T17:31:49.154Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.797Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "30257012071337040",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:49.356Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.797Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:45.784Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:45.999Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:45.774Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:45.779Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:45.782Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:45.784Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:45.999Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:46.445Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:46.711Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:48.719Z",
              "msg": "meta.prepare_adcreatives: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:48.722Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:48.723Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:49.154Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:49.356Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:49.797Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:45.774Z",
          "updatedAt": "2026-11-01T17:31:49.797Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }'

    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-11-01T17:31:55.536431+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:55.335Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:55.727276+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:55.530Z",
      "result": "already_decided"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:56.056824+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:55.530Z",
      "result": "nothing_to_resume"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:56.507941+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.303Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.280Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.303Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.246Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:31:56.303Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:56.303Z"
    }
    meta-marketing twin · GET /v26.0/27749731850228446 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:02.142839+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "creative_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 3
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26611209366716264",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:46.443Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.303Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26240558367376448",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:46.711Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.280Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:75b90e4b790d44112725e4a7",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "27749731850228446",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
              },
              "appliedAt": "2026-11-01T17:31:49.154Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.303Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "30257012071337040",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:49.356Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.246Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:45.784Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:45.999Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:45.774Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:45.779Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:45.782Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:45.784Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:45.999Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:46.445Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:46.711Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:48.719Z",
              "msg": "meta.prepare_adcreatives: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:48.722Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:48.723Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:49.154Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:49.356Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:49.797Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:31:55.335Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:31:56.303Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:45.774Z",
          "updatedAt": "2026-11-01T17:31:56.303Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (17)

    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.

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.04ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "26611209366716264"
    }
    meta-marketing · GET /v26.0/26611209366716264 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26611209366716264' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26611209366716264",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.17ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "26240558367376448"
    }
    meta-marketing · GET /v26.0/26240558367376448 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26240558367376448' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26240558367376448",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.16ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "27749731850228446"
    }
    meta-marketing · GET /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "15647485004322415",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "17307368547137652",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "22292208169326409",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "23983775257341426",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "27749731850228446",
          "account_id": "1001",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "3001",
          "account_id": "1001",
          "name": "Pergola consultation creative TEST",
          "object_story_spec": {
            "page_id": "4001",
            "link_data": {
              "message": "Plan your outdoor space. Request a pergola consultation.",
              "link": "https://example.test/pergolas",
              "name": "A space to enjoy outdoors"
            }
          }
        },
        {
          "id": "31134973727666780",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "82029082710701786",
          "account_id": "1001",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "93699467285654729",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729",
          "object_story_spec": {
            "page_id": "4001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        }
      ]
    }
    meta-marketing · GET /v26.0/27749731850228446 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": "{\"creative_id\":\"27749731850228446\"}",
      "status": "PAUSED"
    }'

    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: 1.01ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": "{\"creative_id\":\"27749731850228446\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "30257012071337040"
    }
    meta-marketing · GET /v26.0/30257012071337040 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/30257012071337040' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "30257012071337040",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": {
        "id": "27749731850228446"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/26611209366716264 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26611209366716264' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26611209366716264",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/26240558367376448 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26240558367376448' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26240558367376448",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/30257012071337040 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/30257012071337040' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "30257012071337040",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": {
        "id": "27749731850228446"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/27749731850228446 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/30257012071337040 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/30257012071337040' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "30257012071337040",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": {
        "id": "27749731850228446"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/26240558367376448 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26240558367376448' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26240558367376448",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/27749731850228446 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/26611209366716264 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26611209366716264' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26611209366716264",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    Passed
  • 16Accepted ads response loss recovers without resending
    See recorded check evidence

    The lines below are the saved test results and linked requests for this case. There are no stored expected field values beyond the check text itself.

    Why this check passed or failed

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

    What we sent and what came back

    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:02.665205+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }'

    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-11-01T17:32:03.028454+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:02.747Z",
      "duplicate": false
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:32:06.053692+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/ads: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:05.847Z",
      "result": "recorded"
    }
    meta-marketing twin · POST /v26.0/act_1001/ads → HTTP 200

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21783429857165569"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:06.507623+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:06.253Z",
      "result": "resumed"
    }
    meta-marketing twin · GET /v26.0/21783429857165569 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:07.008596+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:06.725Z"
    }
    meta-marketing twin · GET /v26.0/21783429857165569 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:12.408730+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "ad_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "96933083638722458",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:32:03.409Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.600Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "19199008408188784",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:32:03.646Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.693Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "13484099101125142",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
              },
              "appliedAt": "2026-11-01T17:32:03.838Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.704Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "21783429857165569",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:32:06.253Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.724Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:32:02.747Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:32:03.098Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:32:02.741Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:32:02.743Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:32:02.745Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:32:02.747Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:32:03.098Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:32:03.409Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:32:03.646Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:32:03.838Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:32:05.845Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:32:05.847Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:32:06.253Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:32:06.725Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:32:02.741Z",
          "updatedAt": "2026-11-01T17:32:06.725Z"
        }
      ]
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }'

    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-11-01T17:32:12.621101+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:12.395Z",
      "duplicate": true
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:32:12.820388+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:12.610Z",
      "result": "already_decided"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:13.046107+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:12.610Z",
      "result": "nothing_to_resume"
    }
    Your app · POST /invocations → HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:13.471658+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.205Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.211Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.233Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.277Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:32:13.277Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:13.277Z"
    }
    meta-marketing twin · GET /v26.0/21783429857165569 → HTTP 200

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
    Your app · GET /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs → HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:18.876912+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "ad_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "96933083638722458",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:32:03.409Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.205Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "19199008408188784",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:32:03.646Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.211Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "13484099101125142",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
              },
              "appliedAt": "2026-11-01T17:32:03.838Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.233Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "21783429857165569",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:32:06.253Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.277Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:32:02.747Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:32:03.098Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:32:02.741Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:32:02.743Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:32:02.745Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:32:02.747Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:32:03.098Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:32:03.409Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:32:03.646Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:32:03.838Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:32:05.845Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:32:05.847Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:32:06.253Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:32:06.725Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:32:12.395Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:32:13.277Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:32:02.741Z",
          "updatedAt": "2026-11-01T17:32:13.277Z"
        }
      ]
    }
    Provider calls and callbacks observed during these requests (17)

    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.

    meta-marketing · POST /v26.0/act_1001/campaigns · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 4.83ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "96933083638722458"
    }
    meta-marketing · GET /v26.0/96933083638722458 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/96933083638722458' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "96933083638722458",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adsets · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.19ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "19199008408188784"
    }
    meta-marketing · GET /v26.0/19199008408188784 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/19199008408188784' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "19199008408188784",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · POST /v26.0/act_1001/adcreatives · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.19ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "13484099101125142"
    }
    meta-marketing · GET /v26.0/13484099101125142 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/13484099101125142' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    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: 1.13ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "13484099101125142",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · POST /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }'

    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: 1ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21783429857165569"
    }
    meta-marketing · GET /v26.0/act_1001/ads · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "16239760874847237",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "17142056123518516",
          "creative": {
            "id": "22292208169326409"
          },
          "status": "PAUSED"
        },
        {
          "id": "18268396865905235",
          "account_id": "1001",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "36328921480164454",
          "creative": {
            "id": "82029082710701786"
          },
          "status": "PAUSED"
        },
        {
          "id": "21725925375523777",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "32827713751076767",
          "creative": {
            "id": "93699467285654729"
          },
          "status": "PAUSED"
        },
        {
          "id": "21783429857165569",
          "account_id": "1001",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "19199008408188784",
          "creative": {
            "id": "13484099101125142"
          },
          "status": "PAUSED"
        },
        {
          "id": "26252057343736697",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "21150146858514222",
          "creative": {
            "id": "23983775257341426"
          },
          "status": "PAUSED"
        },
        {
          "id": "28766098831822090",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "16520509931494418",
          "creative": {
            "id": "15647485004322415"
          },
          "status": "PAUSED"
        },
        {
          "id": "30257012071337040",
          "account_id": "1001",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "26240558367376448",
          "creative": {
            "id": "27749731850228446"
          },
          "status": "PAUSED"
        },
        {
          "id": "32464889932009609",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "18900659600586892",
          "creative": {
            "id": "31134973727666780"
          },
          "status": "PAUSED"
        },
        {
          "id": "37650103639111549",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "24211455430065285",
          "creative": {
            "id": "17307368547137652"
          },
          "status": "PAUSED"
        }
      ]
    }
    meta-marketing · GET /v26.0/21783429857165569 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/96933083638722458 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/96933083638722458' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "96933083638722458",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/19199008408188784 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/19199008408188784' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "19199008408188784",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/13484099101125142 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/13484099101125142' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "13484099101125142",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/21783429857165569 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/96933083638722458 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/96933083638722458' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "96933083638722458",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/19199008408188784 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/19199008408188784' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "19199008408188784",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
    meta-marketing · GET /v26.0/13484099101125142 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/13484099101125142' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "13484099101125142",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
    meta-marketing · GET /v26.0/21783429857165569 · HTTP 200

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
    Passed

App version: acme-ops-ad-campaign-preparation-1.0.0-2d62db5 (declared)

Measured run: 2026-11-01T17:30:17.585178+00:00 – 2026-11-01T17:32:18.925062+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: 307/400 successful · checkpoints: 16/16 recorded

Sanitized request and event timeline (334 events)
  1. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:17.810051+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "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-11-01T17:30:18.061567+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:17.844Z",
      "duplicate": false
    }
  3. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:19.294762+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:19.076Z",
      "result": "recorded"
    }
  4. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request f059076ee99f · processing 1.86ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.86ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "25710766577462967"
    }
  5. · GET meta-marketing request · provider traffic · /v26.0/25710766577462967 · HTTP 200 · request c3484160127b · processing 0.53ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/25710766577462967' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "25710766577462967",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  6. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request e0bddf2234d7 · processing 1.12ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.12ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "17142056123518516"
    }
  7. · GET meta-marketing request · provider traffic · /v26.0/17142056123518516 · HTTP 200 · request 3e90f3013b32 · processing 0.61ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17142056123518516' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17142056123518516",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  8. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request 5db8dc461fbb · processing 0.99ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola baseline vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola baseline vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "22292208169326409"
    }
  9. · GET meta-marketing request · provider traffic · /v26.0/22292208169326409 · HTTP 200 · request 2f4afc800d42 · processing 0.72ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/22292208169326409' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "22292208169326409",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  10. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request b8a9e2ef034c · processing 1.09ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": "{\"creative_id\":\"22292208169326409\"}",
      "status": "PAUSED"
    }'

    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: 1.09ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": "{\"creative_id\":\"22292208169326409\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "16239760874847237"
    }
  11. · GET meta-marketing request · provider traffic · /v26.0/16239760874847237 · HTTP 200 · request f527b28ab7d0 · processing 0.56ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16239760874847237' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16239760874847237",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": {
        "id": "22292208169326409"
      },
      "status": "PAUSED"
    }
  12. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

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

    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-11-01T17:30:20.118690+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.407Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.515Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.490Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.830Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:19.830Z"
    }
  13. · GET meta-marketing request · provider traffic · /v26.0/25710766577462967 · HTTP 200 · request c8a6a4828152 · processing 0.62ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/25710766577462967' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "25710766577462967",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  14. · GET meta-marketing request · provider traffic · /v26.0/22292208169326409 · HTTP 200 · request 5558689a5a90 · processing 0.73ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/22292208169326409' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "22292208169326409",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  15. · GET meta-marketing request · provider traffic · /v26.0/17142056123518516 · HTTP 200 · request 9aabb7570d6e · processing 0.62ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17142056123518516' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17142056123518516",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  16. · GET meta-marketing request · provider traffic · /v26.0/16239760874847237 · HTTP 200 · request 741013ca9258 · processing 0.55ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16239760874847237' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16239760874847237",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": {
        "id": "22292208169326409"
      },
      "status": "PAUSED"
    }
  17. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:20.547287+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "baseline"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 15
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "25710766577462967",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:18.455Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.407Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17142056123518516",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:18.642Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.515Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:069316b3ce1f6015b1b737cd",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "22292208169326409",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
              },
              "appliedAt": "2026-11-01T17:30:18.858Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.490Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16239760874847237",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:19.074Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:19.830Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:17.843Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:18.072Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:17.824Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:17.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:17.843Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:17.844Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:18.072Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:18.455Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:18.643Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:18.858Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:19.830Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:30:17.824Z",
          "updatedAt": "2026-11-01T17:30:19.830Z"
        }
      ]
    }
  18. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "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-11-01T17:30:20.771015+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.407Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.515Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.490Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.830Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:30:20.548Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:20.548Z",
      "duplicate": true
    }
  19. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:20.972914+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.407Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.515Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.490Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:19.830Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:30:20.548Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:20.759Z",
      "result": "already_decided"
    }
  20. · POST app request /invocations · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

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

    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-11-01T17:30:21.392751+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "reconcile",
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "baseline-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "baseline"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 15
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "25710766577462967",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:18.455Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17142056123518516",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:18.642Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.120Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:069316b3ce1f6015b1b737cd",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "22292208169326409",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
          },
          "appliedAt": "2026-11-01T17:30:18.858Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.165Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16239760874847237",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:19.074Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:30:21.144Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:17.843Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:18.072Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:17.824Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:17.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:17.843Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:17.844Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:18.072Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:18.455Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:18.643Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:18.858Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:19.075Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:19.830Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:30:20.548Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:21.165Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:30:17.824Z",
      "updatedAt": "2026-11-01T17:30:21.165Z"
    }
  21. · GET meta-marketing request · provider traffic · /v26.0/25710766577462967 · HTTP 200 · request 9ad3a859e83e · processing 0.56ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/25710766577462967' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "25710766577462967",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  22. · GET meta-marketing request · provider traffic · /v26.0/17142056123518516 · HTTP 200 · request 7a0706d054a0 · processing 0.68ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17142056123518516' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17142056123518516",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "25710766577462967",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  23. · GET meta-marketing request · provider traffic · /v26.0/16239760874847237 · HTTP 200 · request 26d3e1ab263d · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16239760874847237' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16239760874847237",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "17142056123518516",
      "creative": {
        "id": "22292208169326409"
      },
      "status": "PAUSED"
    }
  24. · GET meta-marketing request · provider traffic · /v26.0/22292208169326409 · HTTP 200 · request e283d347de7c · processing 0.5ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/22292208169326409' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "22292208169326409",
      "account_id": "1001",
      "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  25. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs · baseline · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/baseline/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:21.718217+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "baseline"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 15
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "25710766577462967",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:18.455Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.109Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17142056123518516",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:18.642Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.120Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:069316b3ce1f6015b1b737cd",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "22292208169326409",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd]",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f"
              },
              "appliedAt": "2026-11-01T17:30:18.858Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.165Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16239760874847237",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:19.074Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:30:21.144Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:17.843Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:18.072Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:17.824Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:17.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:17.843Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:17.844Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:18.072Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:18.455Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:18.643Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:18.858Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:19.075Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:19.830Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:30:20.548Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:30:21.165Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:30:17.824Z",
          "updatedAt": "2026-11-01T17:30:21.165Z"
        }
      ]
    }
  26. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs · held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:21.919262+00:00.

    Recorded request headers

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

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }'

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

    Target URL recorded at execution. Response finished: 2026-11-01T17:30:22.109107+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:979b9887b0521cc66966ae00",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:21.917Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:21.915Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:21.916Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:21.915Z",
      "updatedAt": "2026-11-01T17:30:21.917Z",
      "duplicate": false
    }
  28. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs · held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:22.448000+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "held-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "held"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:979b9887b0521cc66966ae00",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:21.917Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:21.915Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:21.916Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "awaiting approval"
            }
          ],
          "createdAt": "2026-11-01T17:30:21.915Z",
          "updatedAt": "2026-11-01T17:30:21.917Z"
        }
      ]
    }
  29. · POST app request /invocations · held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }'

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

    Target URL recorded at execution. Response finished: 2026-11-01T17:30:22.675340+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "held-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "held"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:979b9887b0521cc66966ae00",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:21.917Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:21.915Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:21.916Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:21.917Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:22.472Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:21.915Z",
      "updatedAt": "2026-11-01T17:30:22.472Z",
      "duplicate": true
    }
  30. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs · held · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/held/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:22.982474+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "held-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "held"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:979b9887b0521cc66966ae00",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:21.917Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola held vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:21.915Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:21.916Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:21.917Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:22.472Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:21.915Z",
          "updatedAt": "2026-11-01T17:30:22.472Z"
        }
      ]
    }
  31. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs · facebook · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:23.213473+00:00.

    Recorded request headers

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

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }'

    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-11-01T17:30:23.433184+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:23.224Z",
      "duplicate": false
    }
  33. · POST app request /invocations · facebook · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:24.905042+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17039868983718644",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:23.675Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "32827713751076767",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:23.897Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "93699467285654729",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
          },
          "appliedAt": "2026-11-01T17:30:24.422Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21725925375523777",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:24.705Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:23.432Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:23.432Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:23.675Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:23.898Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:24.423Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:24.705Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:24.706Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:24.706Z",
      "result": "recorded"
    }
  34. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request d4c8d0456f99 · processing 0.98ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "17039868983718644"
    }
  35. · GET meta-marketing request · provider traffic · /v26.0/17039868983718644 · HTTP 200 · request 6f081904dc32 · processing 0.55ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17039868983718644' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17039868983718644",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  36. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request 03a8050b8502 · processing 1.1ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "17039868983718644",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"facebook\"],\"facebook_positions\":[\"feed\"]}",
      "status": "PAUSED"
    }'

    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: 1.1ms.

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "17039868983718644",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"facebook\"],\"facebook_positions\":[\"feed\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "32827713751076767"
    }
  37. · GET meta-marketing request · provider traffic · /v26.0/32827713751076767 · HTTP 200 · request 32a79832de2a · processing 0.78ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32827713751076767' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32827713751076767",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "17039868983718644",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "facebook"
        ],
        "facebook_positions": [
          "feed"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  38. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request 09f9482c0340 · processing 0.96ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
      "object_story_spec": "{\"page_id\":\"4001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola facebook vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
      "object_story_spec": "{\"page_id\":\"4001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola facebook vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "93699467285654729"
    }
  39. · GET meta-marketing request · provider traffic · /v26.0/93699467285654729 · HTTP 200 · request 24baab02a19d · processing 0.55ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/93699467285654729' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "93699467285654729",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729",
      "object_story_spec": {
        "page_id": "4001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  40. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request 94b0f34f3d6c · processing 0.98ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "32827713751076767",
      "creative": "{\"creative_id\":\"93699467285654729\"}",
      "status": "PAUSED"
    }'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "32827713751076767",
      "creative": "{\"creative_id\":\"93699467285654729\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21725925375523777"
    }
  41. · GET meta-marketing request · provider traffic · /v26.0/21725925375523777 · HTTP 200 · request 049e4543f46a · processing 0.59ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21725925375523777' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

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

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

    Recorded request headers

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

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21725925375523777",
      "account_id": "1001",
      "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "32827713751076767",
      "creative": {
        "id": "93699467285654729"
      },
      "status": "PAUSED"
    }
  42. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs · facebook · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:25.277135+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "facebook"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17039868983718644",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:23.675Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "32827713751076767",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:23.897Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:4d1a7a974137c94edcc44a62",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "93699467285654729",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
              },
              "appliedAt": "2026-11-01T17:30:24.422Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21725925375523777",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:24.705Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:23.224Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:23.432Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:23.222Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:23.224Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:23.432Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:23.675Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:23.898Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:24.423Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:24.705Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:24.706Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-11-01T17:30:23.222Z",
          "updatedAt": "2026-11-01T17:30:24.706Z"
        }
      ]
    }
  43. · POST app request /invocations · facebook · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }'

    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-11-01T17:30:25.520002+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "facebook",
        "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17039868983718644",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:23.675Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "32827713751076767",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:23.897Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "93699467285654729",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
          },
          "appliedAt": "2026-11-01T17:30:24.422Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21725925375523777",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:24.705Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:23.432Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:23.432Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:23.675Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:23.898Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:24.423Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:24.705Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:24.706Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:25.302Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:25.302Z",
      "duplicate": true
    }
  44. · POST app request /invocations · facebook · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:25.723570+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "decide",
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "facebook"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17039868983718644",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:23.675Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "32827713751076767",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:23.897Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:4d1a7a974137c94edcc44a62",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "93699467285654729",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
          },
          "appliedAt": "2026-11-01T17:30:24.422Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21725925375523777",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:24.705Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:23.224Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:23.432Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "facebook",
          "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:23.222Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:23.223Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:23.224Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:23.432Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:23.675Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:23.898Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:24.423Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:24.705Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:24.706Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:25.302Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:23.222Z",
      "updatedAt": "2026-11-01T17:30:25.518Z",
      "result": "already_decided"
    }
  45. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs · facebook · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/facebook/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:26.090459+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "facebook-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "facebook"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17039868983718644",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:23.675Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "32827713751076767",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:23.897Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:4d1a7a974137c94edcc44a62",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "93699467285654729",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62]",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729"
              },
              "appliedAt": "2026-11-01T17:30:24.422Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "facebook",
                  "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21725925375523777",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:24.705Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:23.224Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:23.432Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "facebook",
              "title": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:23.222Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:23.223Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:23.224Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:23.432Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:23.675Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:23.898Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:24.423Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:24.705Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:24.706Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:25.302Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:23.222Z",
          "updatedAt": "2026-11-01T17:30:25.518Z"
        }
      ]
    }
  46. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs · rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:26.319269+00:00.

    Recorded request headers

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

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "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-11-01T17:30:26.607438+00:00.

    Recorded request headers

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

    Recorded response headers

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

    Request body

    {
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:26.314Z",
      "duplicate": false
    }
  48. · POST app request /invocations · rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }'

    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-11-01T17:30:26.818127+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "REJECTED",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 4,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z",
        "decision": "reject",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:26.616Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:26.616Z",
          "msg": "rejected by U_AD_OWNER"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:26.616Z",
      "result": "recorded"
    }
  49. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs · rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:27.296083+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "REJECTED",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "rejected"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 4,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:26.314Z",
            "decision": "reject",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:26.616Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:26.307Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:26.309Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:26.312Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:26.314Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:26.616Z",
              "msg": "rejected by U_AD_OWNER"
            }
          ],
          "createdAt": "2026-11-01T17:30:26.307Z",
          "updatedAt": "2026-11-01T17:30:26.616Z"
        }
      ]
    }
  50. · POST app request /invocations · rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "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-11-01T17:30:27.644000+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "462",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "REJECTED",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 4,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z",
        "decision": "reject",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:26.616Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:26.616Z",
          "msg": "rejected by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:27.291Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:27.291Z",
      "duplicate": true
    }
  51. · POST app request /invocations · rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }'

    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-11-01T17:30:27.894617+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "reject"
    }

    Recorded response · HTTP 200

    {
      "runId": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "REJECTED",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "rejected"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "rejected",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 4,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:26.314Z",
        "decision": "reject",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:26.616Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:26.307Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:26.309Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:26.312Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:26.314Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:26.616Z",
          "msg": "rejected by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:27.291Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:26.307Z",
      "updatedAt": "2026-11-01T17:30:27.637Z",
      "result": "already_decided"
    }
  52. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs · rejected · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/rejected/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:28.213947+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "rejected-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "REJECTED",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "rejected"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:37bae5eb49c58ae42171c3a3",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "rejected",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 4,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:26.314Z",
            "decision": "reject",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:26.616Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola rejected vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:26.307Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:26.309Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:26.312Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:26.314Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:26.616Z",
              "msg": "rejected by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:27.291Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:26.307Z",
          "updatedAt": "2026-11-01T17:30:27.637Z"
        }
      ]
    }
  53. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs · wrong reviewer · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:28.423974+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  54. · POST app request /invocations · wrong reviewer · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }'

    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-11-01T17:30:28.636607+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "480",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:28.435Z",
      "duplicate": false
    }
  55. · POST app request /invocations · wrong reviewer · HTTP 403
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "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-11-01T17:30:28.831805+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "123",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "approve"
    }

    Recorded response · HTTP 403

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:28.632Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:28.632Z",
      "result": "forbidden"
    }
  56. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs · wrong reviewer · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:29.125242+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "wrong_reviewer"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:d4d8f8caae6973a65812db51",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:28.435Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:28.430Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:28.432Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:28.434Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:28.435Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:28.632Z",
              "msg": "decision by U_STRANGER refused: not an approver"
            }
          ],
          "createdAt": "2026-11-01T17:30:28.430Z",
          "updatedAt": "2026-11-01T17:30:28.632Z"
        }
      ]
    }
  57. · POST app request /invocations · wrong reviewer · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }'

    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-11-01T17:30:29.323081+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "480",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:28.632Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        },
        {
          "at": "2026-11-01T17:30:29.114Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:29.114Z",
      "duplicate": true
    }
  58. · POST app request /invocations · wrong reviewer · HTTP 403
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "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-11-01T17:30:29.539921+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "123",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_STRANGER",
      "decision": "approve"
    }

    Recorded response · HTTP 403

    {
      "runId": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "wrong_reviewer"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:d4d8f8caae6973a65812db51",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:28.435Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:28.430Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:28.432Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:28.434Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:28.435Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:28.632Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        },
        {
          "at": "2026-11-01T17:30:29.114Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:29.324Z",
          "msg": "decision by U_STRANGER refused: not an approver"
        }
      ],
      "createdAt": "2026-11-01T17:30:28.430Z",
      "updatedAt": "2026-11-01T17:30:29.324Z",
      "result": "forbidden"
    }
  59. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs · wrong reviewer · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/wrong_reviewer/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:29.854732+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "wrong-reviewer-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "AWAITING_APPROVAL",
          "closed": false,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "wrong_reviewer"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:d4d8f8caae6973a65812db51",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "pending_approval",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 0,
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 4,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:28.435Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola wrong_reviewer vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:28.430Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:28.432Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:28.434Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:28.435Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:28.632Z",
              "msg": "decision by U_STRANGER refused: not an approver"
            },
            {
              "at": "2026-11-01T17:30:29.114Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:30:29.324Z",
              "msg": "decision by U_STRANGER refused: not an approver"
            }
          ],
          "createdAt": "2026-11-01T17:30:28.430Z",
          "updatedAt": "2026-11-01T17:30:29.324Z"
        }
      ]
    }
  60. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:30.109223+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json",
      "content-length": "11"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": []
    }
  61. · POST app request /invocations · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }'

    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-11-01T17:30:30.328918+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "456",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:30.119Z",
      "duplicate": false
    }
  62. · POST app request /invocations · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:31.628779+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "115",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:31.417Z",
      "result": "recorded"
    }
  63. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request 23bfaf80a8a1 · processing 1.04ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.04ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "171",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "46842285852969420"
    }
  64. · GET meta-marketing request · provider traffic · /v26.0/46842285852969420 · HTTP 200 · request fc3f4975fdaf · processing 0.53ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/46842285852969420' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.53ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "46842285852969420",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  65. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request 8326e9194c80 · processing 1.13ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "46842285852969420",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.13ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "582",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "46842285852969420",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21150146858514222"
    }
  66. · GET meta-marketing request · provider traffic · /v26.0/21150146858514222 · HTTP 200 · request 575180d266bd · processing 0.67ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21150146858514222' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.67ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21150146858514222",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "46842285852969420",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  67. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request ff751e7c779e · processing 1.09ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola replay vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.09ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "443",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola replay vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "23983775257341426"
    }
  68. · GET meta-marketing request · provider traffic · /v26.0/23983775257341426 · HTTP 200 · request 7b871c232457 · processing 0.87ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/23983775257341426' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.87ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "23983775257341426",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  69. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request d6df86d21b2c · processing 1.02ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "21150146858514222",
      "creative": "{\"creative_id\":\"23983775257341426\"}",
      "status": "PAUSED"
    }'

    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: 1.02ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "158",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "21150146858514222",
      "creative": "{\"creative_id\":\"23983775257341426\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "26252057343736697"
    }
  70. · GET meta-marketing request · provider traffic · /v26.0/26252057343736697 · HTTP 200 · request 15b69767d31c · processing 0.57ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26252057343736697' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.57ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26252057343736697",
      "account_id": "1001",
      "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "21150146858514222",
      "creative": {
        "id": "23983775257341426"
      },
      "status": "PAUSED"
    }
  71. · POST app request /invocations · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:31.906285+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "115",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:31.639Z",
      "result": "already_decided"
    }
  72. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:32.214709+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "replay-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "replay"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 1
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "46842285852969420",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:30.660Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21150146858514222",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:30.914Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:c46b333decf26eb8b603d184",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "23983775257341426",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
              },
              "appliedAt": "2026-11-01T17:30:31.173Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26252057343736697",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:31.415Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:30.119Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:30.315Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:30.112Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:30.115Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:30.117Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:30.119Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:30.315Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:30.661Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:30.914Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:31.173Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:31.415Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:31.417Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-11-01T17:30:30.112Z",
          "updatedAt": "2026-11-01T17:30:31.639Z"
        }
      ]
    }
  73. · POST app request /invocations · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }'

    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-11-01T17:30:32.465853+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "456",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:32.218Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:32.218Z",
      "duplicate": true
    }
  74. · POST app request /invocations · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:32.673393+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "115",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:32.218Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:32.465Z",
      "result": "already_decided"
    }
  75. · POST app request /invocations · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:32.965559+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "115",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "replay-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "replay"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 1
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "46842285852969420",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:30.660Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21150146858514222",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:30.914Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:c46b333decf26eb8b603d184",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "23983775257341426",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
          },
          "appliedAt": "2026-11-01T17:30:31.173Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26252057343736697",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:31.415Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:30.119Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:30.315Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:30.112Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:30.115Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:30.117Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:30.119Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:30.315Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:30.661Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:30.914Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:31.173Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:31.415Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:31.417Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:30:32.218Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:30.112Z",
      "updatedAt": "2026-11-01T17:30:32.731Z",
      "result": "already_decided"
    }
  76. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs · replay · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/replay/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:33.284160+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "replay-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "replay"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 1
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "46842285852969420",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:30.660Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21150146858514222",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:30.914Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:c46b333decf26eb8b603d184",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "23983775257341426",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184]",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda"
              },
              "appliedAt": "2026-11-01T17:30:31.173Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26252057343736697",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:31.415Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:30.119Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:30.315Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:30.112Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:30.115Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:30.117Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:30.119Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:30.315Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:30.661Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:30.914Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:31.173Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:31.415Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:31.417Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:30:32.218Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:30.112Z",
          "updatedAt": "2026-11-01T17:30:32.731Z"
        }
      ]
    }
  77. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs · budget · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:33.489955+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  78. · POST app request /invocations · budget · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }'

    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-11-01T17:30:33.686436+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "456",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 1
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1001
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:33.494Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:33.496Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:33.494Z",
      "updatedAt": "2026-11-01T17:30:33.497Z",
      "duplicate": false
    }
  79. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs · budget · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:33.992249+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "budget-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "budget"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 1
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1001
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:33.494Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:33.496Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:33.494Z",
          "updatedAt": "2026-11-01T17:30:33.497Z"
        }
      ]
    }
  80. · POST app request /invocations · budget · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }'

    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-11-01T17:30:34.189768+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "456",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1001
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "budget-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "budget"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 1
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1001
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:33.494Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:33.496Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:33.497Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:33.990Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:33.494Z",
      "updatedAt": "2026-11-01T17:30:33.990Z",
      "duplicate": true
    }
  81. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs · budget · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/budget/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:34.485973+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "budget-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "budget"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 1
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola budget vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1001
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:33.494Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:33.496Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:33.497Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:33.990Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:33.494Z",
          "updatedAt": "2026-11-01T17:30:33.990Z"
        }
      ]
    }
  82. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs · business · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:34.704881+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  83. · POST app request /invocations · business · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }'

    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-11-01T17:30:34.910678+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "472",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Other business",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:34.702Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:34.707Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:34.708Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:34.710Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:34.702Z",
      "updatedAt": "2026-11-01T17:30:34.710Z",
      "duplicate": false
    }
  84. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs · business · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:35.218111+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "business-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "business"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Other business",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:34.702Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:34.707Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:34.708Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:34.710Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:34.702Z",
          "updatedAt": "2026-11-01T17:30:34.710Z"
        }
      ]
    }
  85. · POST app request /invocations · business · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }'

    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-11-01T17:30:35.421594+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "472",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Other business",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "business-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "business"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Other business",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:34.702Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:34.707Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:34.708Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:34.710Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:35.215Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:34.702Z",
      "updatedAt": "2026-11-01T17:30:35.215Z",
      "duplicate": true
    }
  86. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs · business · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/business/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:35.732676+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "business-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "business"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Other business",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola business vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:34.702Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:34.707Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:34.708Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:34.710Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:35.215Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:34.702Z",
          "updatedAt": "2026-11-01T17:30:35.215Z"
        }
      ]
    }
  87. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs · destination · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:35.931359+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  88. · POST app request /invocations · destination · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }'

    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-11-01T17:30:36.137294+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "466",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://unapproved.test/",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:35.929Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:35.934Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:35.936Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:35.938Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:35.929Z",
      "updatedAt": "2026-11-01T17:30:35.938Z",
      "duplicate": false
    }
  89. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs · destination · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:36.441231+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "destination-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "destination"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://unapproved.test/",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:35.929Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:35.934Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:35.936Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:35.938Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:35.929Z",
          "updatedAt": "2026-11-01T17:30:35.938Z"
        }
      ]
    }
  90. · POST app request /invocations · destination · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }'

    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-11-01T17:30:36.653861+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "466",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://unapproved.test/",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "destination-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "destination"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "failed",
          "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
          "errorCode": "fatal",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "output": {
        "decision": "hold",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://unapproved.test/",
          "dailyBudgetMinor": 1000
        },
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:35.929Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:35.934Z",
          "msg": "agents: policy-review=failed, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:35.936Z",
          "msg": "planned 0 action(s): 0 need approval"
        },
        {
          "at": "2026-11-01T17:30:35.938Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:36.448Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:35.929Z",
      "updatedAt": "2026-11-01T17:30:36.448Z",
      "duplicate": true
    }
  91. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs · destination · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/destination/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:36.940380+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "destination-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "destination"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "failed",
              "error": "FatalError: Business, budget or destination is outside the owner publishing policy",
              "errorCode": "fatal",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [],
          "counts": {
            "applied": 0,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "output": {
            "decision": "hold",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola destination vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://unapproved.test/",
              "dailyBudgetMinor": 1000
            },
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:35.929Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:35.934Z",
              "msg": "agents: policy-review=failed, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:35.936Z",
              "msg": "planned 0 action(s): 0 need approval"
            },
            {
              "at": "2026-11-01T17:30:35.938Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:36.448Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:35.929Z",
          "updatedAt": "2026-11-01T17:30:36.448Z"
        }
      ]
    }
  92. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs · provider auth · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:37.123104+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  93. · POST app request /invocations · provider auth · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }'

    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-11-01T17:30:37.333677+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "477",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:37.134Z",
      "duplicate": false
    }
  94. · POST app request /invocations · provider auth · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:37.771842+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "122",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
          "errorCode": "meta:unauthorized",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:37.336Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:37.336Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:37.558Z",
          "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
        },
        {
          "at": "2026-11-01T17:30:37.565Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.571Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.575Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.576Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:37.576Z",
      "result": "recorded"
    }
  95. · POST meta-marketing request · provider auth · /v26.0/act_1001/campaigns · HTTP 401 · processing 0.17ms
    View sanitized request and response

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.17ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "178",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 401

    {
      "errors": [
        {
          "status": "401",
          "code": "unauthorized",
          "detail": "Invalid API key or expired credentials"
        }
      ]
    }
  96. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 401 · request a12f97cca00a · processing 0.17ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.17ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "178",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 401

    {
      "errors": [
        {
          "status": "401",
          "code": "unauthorized",
          "detail": "Invalid API key or expired credentials"
        }
      ]
    }
  97. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs · provider auth · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:38.058398+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "provider_auth"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
              "errorCode": "meta:unauthorized",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 4,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:37.134Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:37.336Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:37.128Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:37.132Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:37.133Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:37.134Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:37.336Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:37.558Z",
              "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
            },
            {
              "at": "2026-11-01T17:30:37.565Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.571Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.575Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.576Z",
              "msg": "done (partial)"
            }
          ],
          "createdAt": "2026-11-01T17:30:37.128Z",
          "updatedAt": "2026-11-01T17:30:37.576Z"
        }
      ]
    }
  98. · POST app request /invocations · provider auth · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }'

    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-11-01T17:30:38.298418+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "477",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
          "errorCode": "meta:unauthorized",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:37.336Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:37.336Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:37.558Z",
          "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
        },
        {
          "at": "2026-11-01T17:30:37.565Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.571Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.575Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.576Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:38.051Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:38.051Z",
      "duplicate": true
    }
  99. · POST app request /invocations · provider auth · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:38.514576+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "122",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "provider_auth"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
          "errorCode": "meta:unauthorized",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:37.134Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:37.336Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:37.128Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:37.132Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:37.133Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:37.134Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:37.336Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:37.558Z",
          "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
        },
        {
          "at": "2026-11-01T17:30:37.565Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.571Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.575Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:30:37.576Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:38.051Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:37.128Z",
      "updatedAt": "2026-11-01T17:30:38.303Z",
      "result": "already_decided"
    }
  100. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs · provider auth · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/provider_auth/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:38.820107+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "provider-auth-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "provider_auth"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "meta 401 unauthorized: POST /v26.0/act_1001/campaigns → 401 unauthorized",
              "errorCode": "meta:unauthorized",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:6d26cab00d268ff1d9c037c0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
              "errorCode": "fatal",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 0,
            "failed": 4,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:37.134Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:37.336Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola provider_auth vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:37.128Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:37.132Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:37.133Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:37.134Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:37.336Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:37.558Z",
              "msg": "meta.prepare_campaigns: failed (meta:unauthorized)"
            },
            {
              "at": "2026-11-01T17:30:37.565Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.571Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.575Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:30:37.576Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:38.051Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:37.128Z",
          "updatedAt": "2026-11-01T17:30:38.303Z"
        }
      ]
    }
  101. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:39.023082+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  102. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }'

    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-11-01T17:30:39.263852+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "459",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:39.059Z",
      "duplicate": false
    }
  103. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:42.245480+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/ads: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:42.026Z",
      "result": "recorded"
    }
  104. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request cf0a7398bcb7 · processing 1.08ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.08ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "172",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18267145293836010"
    }
  105. · GET meta-marketing request · provider traffic · /v26.0/18267145293836010 · HTTP 200 · request d076b14dd972 · processing 0.61ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18267145293836010' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.61ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18267145293836010",
      "account_id": "1001",
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  106. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request d93791480706 · processing 1.17ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18267145293836010",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.17ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "583",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18267145293836010",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "16520509931494418"
    }
  107. · GET meta-marketing request · provider traffic · /v26.0/16520509931494418 · HTTP 200 · request 2f3331beda46 · processing 0.67ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/16520509931494418' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.67ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "16520509931494418",
      "account_id": "1001",
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18267145293836010",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  108. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request 567f971f0c46 · processing 1.08ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola unknown vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.08ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "445",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola unknown vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "15647485004322415"
    }
  109. · GET meta-marketing request · provider traffic · /v26.0/15647485004322415 · HTTP 200 · request f7307a1d7ac1 · processing 0.61ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/15647485004322415' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.61ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "15647485004322415",
      "account_id": "1001",
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  110. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request be9da207f580 · processing 0.98ms · response delay_completed (5000ms) · delay began 2026-11-01T17:30:40.202056+00:00 · delay released 2026-11-01T17:30:45.210097+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "16520509931494418",
      "creative": "{\"creative_id\":\"15647485004322415\"}",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.98ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "159",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "16520509931494418",
      "creative": "{\"creative_id\":\"15647485004322415\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "28766098831822090"
    }
  111. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:30:43.172930+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "73",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:42.962Z",
      "result": "resumed"
    }
  112. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.16ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  113. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request cf29ca5e9346 · processing 0.16ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  114. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  115. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 671817294769 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  116. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.24ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.24ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  117. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 770611611133 · processing 0.24ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.24ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  118. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:30:43.898247+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "73",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 3,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:43.687Z",
      "result": "resumed"
    }
  119. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.25ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.25ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  120. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 2c71069a8c08 · processing 0.25ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.25ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  121. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  122. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 2e119237f263 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  123. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.17ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.17ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  124. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 5a8c83d728d5 · processing 0.17ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.17ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  125. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:44.204951+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "unknown"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18267145293836010",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:39.527Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16520509931494418",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:39.771Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:f08c996822328d15c6eddef0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "15647485004322415",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
              },
              "appliedAt": "2026-11-01T17:30:40.012Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 3,
              "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
              "errorCode": "meta:readback_unavailable",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 3,
            "failed": 1,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:39.059Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:39.282Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:39.050Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:39.054Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:39.057Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:39.059Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:39.282Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:39.528Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:39.772Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:40.012Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:42.024Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:30:42.026Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:42.962Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:43.687Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            }
          ],
          "createdAt": "2026-11-01T17:30:39.050Z",
          "updatedAt": "2026-11-01T17:30:43.687Z"
        }
      ]
    }
  126. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }'

    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-11-01T17:30:44.419560+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "459",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 3,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:44.214Z",
      "duplicate": true
    }
  127. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:44.644300+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 3,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:44.436Z",
      "result": "already_decided"
    }
  128. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:30:45.684671+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "73",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 4,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:45.487Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:45.487Z",
      "result": "resumed"
    }
  129. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.16ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  130. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request c6b4719df56c · processing 0.16ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  131. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.18ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.18ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  132. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request ff0c1c4c291b · processing 0.18ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.18ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  133. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.16ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  134. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 3ff64721b8e1 · processing 0.16ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  135. · POST app request /invocations · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:30:46.341594+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "73",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "unknown"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18267145293836010",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:39.527Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "16520509931494418",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:39.771Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:f08c996822328d15c6eddef0",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "15647485004322415",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
            "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
          },
          "appliedAt": "2026-11-01T17:30:40.012Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 5,
          "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
          "errorCode": "meta:readback_unavailable",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:39.059Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:39.282Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:39.050Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:39.054Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:39.057Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:39.059Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:39.282Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:39.528Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:39.772Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:40.012Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:42.024Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:30:42.026Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:30:42.962Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:43.687Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:44.213Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:30:45.487Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        },
        {
          "at": "2026-11-01T17:30:46.137Z",
          "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
        }
      ],
      "createdAt": "2026-11-01T17:30:39.050Z",
      "updatedAt": "2026-11-01T17:30:46.137Z",
      "result": "resumed"
    }
  136. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.18ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.18ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  137. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request a512e4b92ad4 · processing 0.18ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.18ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  138. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  139. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 8b9be5635f64 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  140. · GET meta-marketing request · unknown · /v26.0/act_1001/ads · HTTP 503 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  141. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 503 · request 637104e65787 · processing 0.15ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.15ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 503

    {
      "errors": [
        {
          "status": "503",
          "code": "readback_unavailable",
          "detail": "Controlled read-back failure"
        }
      ]
    }
  142. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs · unknown · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/unknown/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:46.645257+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "runs": [
        {
          "runId": "unknown-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "partial",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "unknown"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18267145293836010",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:39.527Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "16520509931494418",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:39.771Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:f08c996822328d15c6eddef0",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "15647485004322415",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0]",
                "observedName": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a"
              },
              "appliedAt": "2026-11-01T17:30:40.012Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "failed",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 5,
              "error": "meta 503 readback_unavailable: GET /v26.0/act_1001/ads → 503 readback_unavailable",
              "errorCode": "meta:readback_unavailable",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 3,
            "failed": 1,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:39.059Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:39.282Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:39.050Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:39.054Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:39.057Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:39.059Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:39.282Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:39.528Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:39.772Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:40.012Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:42.024Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:30:42.026Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:30:42.962Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:43.687Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:44.213Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:30:45.487Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            },
            {
              "at": "2026-11-01T17:30:46.137Z",
              "msg": "meta.prepare_ads: failed (meta:readback_unavailable)"
            }
          ],
          "createdAt": "2026-11-01T17:30:39.050Z",
          "updatedAt": "2026-11-01T17:30:46.137Z"
        }
      ]
    }
  143. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:46.834892+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  144. · POST app request /invocations · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }'

    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-11-01T17:30:47.043176+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "459",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:30:46.848Z",
      "duplicate": false
    }
  145. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:47.418913+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  146. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:47.627145+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  147. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:48.066658+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  148. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:48.505069+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  149. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:48.936906+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  150. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:49.383794+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  151. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:49.829693+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  152. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:50.265335+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  153. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:50.830307+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  154. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:51.290435+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  155. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:51.743329+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  156. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:52.173336+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  157. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:52.607472+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  158. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:53.045903+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  159. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:53.511811+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  160. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:53.952368+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  161. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:54.383337+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  162. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:54.831216+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  163. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:55.318385+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  164. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:55.759031+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  165. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:56.263292+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  166. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:56.697488+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  167. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:57.122364+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  168. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:57.573893+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "6dd653d2-b8de-446e-aef5-6bb787883f25",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:16.247Z"
    }
  169. · GET app request /verify/runtime · restart · HTTP 502
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:58.021620+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "text/html; charset=UTF-8",
      "content-length": "6418",
      "retry-after": "60"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 502

    {
      "_non_json_response": true
    }
  170. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:30:58.454415+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  171. · POST app request /invocations · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:30:59.819681+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21582393652627058",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:58.873Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "24211455430065285",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:59.150Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17307368547137652",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
          },
          "appliedAt": "2026-11-01T17:30:59.344Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "37650103639111549",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:59.575Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:58.457Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:58.457Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:58.873Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:59.150Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:59.345Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:59.576Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:59.579Z",
          "msg": "done (ok)"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:30:59.579Z",
      "result": "recorded"
    }
  172. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request 4bac22d0fca9 · processing 1ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "172",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21582393652627058"
    }
  173. · GET meta-marketing request · provider traffic · /v26.0/21582393652627058 · HTTP 200 · request 0dd09cdfb657 · processing 0.56ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21582393652627058' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.56ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21582393652627058",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  174. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request da71b74416df · processing 1.11ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "21582393652627058",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.11ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "583",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "21582393652627058",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "24211455430065285"
    }
  175. · GET meta-marketing request · provider traffic · /v26.0/24211455430065285 · HTTP 200 · request 32671e1ec8d2 · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/24211455430065285' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "24211455430065285",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "21582393652627058",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  176. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request 873ebe6c76f1 · processing 1.24ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola restart vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.24ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "445",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola restart vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "17307368547137652"
    }
  177. · GET meta-marketing request · provider traffic · /v26.0/17307368547137652 · HTTP 200 · request c8b586181b78 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/17307368547137652' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "17307368547137652",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  178. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request 8ecb5516c125 · processing 0.95ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "24211455430065285",
      "creative": "{\"creative_id\":\"17307368547137652\"}",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.95ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "159",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "24211455430065285",
      "creative": "{\"creative_id\":\"17307368547137652\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "37650103639111549"
    }
  179. · GET meta-marketing request · provider traffic · /v26.0/37650103639111549 · HTTP 200 · request 30442303f0d1 · processing 0.66ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/37650103639111549' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.66ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "37650103639111549",
      "account_id": "1001",
      "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "24211455430065285",
      "creative": {
        "id": "17307368547137652"
      },
      "status": "PAUSED"
    }
  180. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:00.260064+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "restart-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "restart"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21582393652627058",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:58.873Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "24211455430065285",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:59.150Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:19511219c959ee036040f4c4",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17307368547137652",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
              },
              "appliedAt": "2026-11-01T17:30:59.344Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "37650103639111549",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:59.575Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:46.848Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:58.457Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:46.839Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:46.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:46.845Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:46.848Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:58.457Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:58.873Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:59.150Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:59.345Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:59.576Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:59.579Z",
              "msg": "done (ok)"
            }
          ],
          "createdAt": "2026-11-01T17:30:46.839Z",
          "updatedAt": "2026-11-01T17:30:59.579Z"
        }
      ]
    }
  181. · POST app request /invocations · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }'

    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-11-01T17:31:00.507471+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "459",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21582393652627058",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:58.873Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "24211455430065285",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:59.150Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17307368547137652",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
          },
          "appliedAt": "2026-11-01T17:30:59.344Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "37650103639111549",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:59.575Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:58.457Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:58.457Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:58.873Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:59.150Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:59.345Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:59.576Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:59.579Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:31:00.293Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:31:00.293Z",
      "duplicate": true
    }
  182. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:00.701604+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  183. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:00.883728+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  184. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:01.443371+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  185. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:02.078166+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  186. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:02.686955+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  187. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:03.230035+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  188. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:03.726297+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  189. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:04.217172+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  190. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:04.667497+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  191. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:05.148020+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  192. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:05.585023+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  193. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:06.070472+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  194. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:06.519303+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  195. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:07.000454+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  196. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:07.451352+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  197. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:07.876755+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  198. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:08.326236+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  199. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:08.784464+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  200. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:09.223893+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  201. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:09.656863+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  202. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:10.118396+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  203. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:10.725660+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "f1461db7-2355-4d14-bad1-5958a6a60b23",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:30:57.944Z"
    }
  204. · GET app request /verify/runtime · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runtime' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:11.179539+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    This request had no body.

    Recorded response · HTTP 200

    {
      "instance_id": "b79f22f9-61b2-44ef-8663-f6a182dd5624",
      "workflow": "ad-campaign-preparation",
      "startedAt": "2026-11-01T17:31:10.575Z"
    }
  205. · POST app request /invocations · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:11.404754+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "restart-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "restart"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "21582393652627058",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:30:58.873Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "24211455430065285",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:30:59.150Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:19511219c959ee036040f4c4",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "17307368547137652",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
          },
          "appliedAt": "2026-11-01T17:30:59.344Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "37650103639111549",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:30:59.575Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:30:46.848Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:30:58.457Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:30:46.839Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:30:46.842Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:30:46.845Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:30:46.848Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:30:58.457Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:30:58.873Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:30:59.150Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:30:59.345Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:30:59.576Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:30:59.579Z",
          "msg": "done (ok)"
        },
        {
          "at": "2026-11-01T17:31:00.293Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:30:46.839Z",
      "updatedAt": "2026-11-01T17:31:11.195Z",
      "result": "already_decided"
    }
  206. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs · restart · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/restart/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:11.715533+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "restart-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "restart"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "21582393652627058",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:30:58.873Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "24211455430065285",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:30:59.150Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:19511219c959ee036040f4c4",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "17307368547137652",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4]",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2"
              },
              "appliedAt": "2026-11-01T17:30:59.344Z",
              "reconciled": null
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "37650103639111549",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:30:59.575Z",
              "reconciled": null
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:30:46.848Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:30:58.457Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:30:46.839Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:30:46.842Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:30:46.845Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:30:46.848Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:30:58.457Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:30:58.873Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:30:59.150Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:30:59.345Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:30:59.576Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:30:59.579Z",
              "msg": "done (ok)"
            },
            {
              "at": "2026-11-01T17:31:00.293Z",
              "msg": "duplicate start ignored"
            }
          ],
          "createdAt": "2026-11-01T17:30:46.839Z",
          "updatedAt": "2026-11-01T17:31:11.195Z"
        }
      ]
    }
  207. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:11.898304+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  208. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }'

    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-11-01T17:31:12.248916+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "477",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:11.909Z",
      "duplicate": false
    }
  209. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:14.501300+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "122",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/campaigns: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 4,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:14.279Z",
      "result": "recorded"
    }
  210. · POST meta-marketing request · campaign loss · /v26.0/act_1001/campaigns · HTTP 200 · processing 0.98ms · response delay_completed (5000ms) · delay began 2026-11-01T17:31:12.621319+00:00 · delay released 2026-11-01T17:31:17.629290+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.98ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "178",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "14543977939770676"
    }
  211. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request 7c944c8d5435 · processing 0.98ms · response delay_completed (5000ms) · delay began 2026-11-01T17:31:12.621319+00:00 · delay released 2026-11-01T17:31:17.629290+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.98ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "178",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "14543977939770676"
    }
  212. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:15.799251+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "79",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:15.588Z",
      "result": "resumed"
    }
  213. · GET meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request c0076dba8a4e · processing 0.7ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.7ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "14543977939770676",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "17039868983718644",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "18267145293836010",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "21582393652627058",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "25710766577462967",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "46842285852969420",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 campaign",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        },
        {
          "id": "6001",
          "account_id": "1001",
          "name": "Acme existing traffic fixture",
          "objective": "OUTCOME_TRAFFIC",
          "special_ad_categories": [],
          "is_adset_budget_sharing_enabled": false,
          "status": "PAUSED"
        }
      ]
    }
  214. · GET meta-marketing request · campaign loss · /v26.0/14543977939770676 · HTTP 200 · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  215. · GET meta-marketing request · provider traffic · /v26.0/14543977939770676 · HTTP 200 · request 0f40aac07075 · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  216. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request 04c03a2201aa · processing 1.19ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.19ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "589",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18900659600586892"
    }
  217. · GET meta-marketing request · provider traffic · /v26.0/18900659600586892 · HTTP 200 · request 708ca6cb082d · processing 0.67ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18900659600586892' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.67ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18900659600586892",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  218. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request aa70fcec403d · processing 1.03ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.03ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "457",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "31134973727666780"
    }
  219. · GET meta-marketing request · provider traffic · /v26.0/31134973727666780 · HTTP 200 · request 3b7e99aa097a · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/31134973727666780' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "31134973727666780",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  220. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request 98401818770d · processing 0.99ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": "{\"creative_id\":\"31134973727666780\"}",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.99ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "165",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": "{\"creative_id\":\"31134973727666780\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "32464889932009609"
    }
  221. · GET meta-marketing request · provider traffic · /v26.0/32464889932009609 · HTTP 200 · request f043d4a86e89 · processing 0.59ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32464889932009609' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.59ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32464889932009609",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": {
        "id": "31134973727666780"
      },
      "status": "PAUSED"
    }
  222. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:16.366422+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "82",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:16.149Z"
    }
  223. · GET meta-marketing request · campaign loss · /v26.0/14543977939770676 · HTTP 200 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  224. · GET meta-marketing request · provider traffic · /v26.0/14543977939770676 · HTTP 200 · request c3f2e4e7656b · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  225. · GET meta-marketing request · provider traffic · /v26.0/18900659600586892 · HTTP 200 · request 6f174eec6993 · processing 0.69ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18900659600586892' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.69ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18900659600586892",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  226. · GET meta-marketing request · provider traffic · /v26.0/32464889932009609 · HTTP 200 · request 85289c79abfa · processing 0.56ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32464889932009609' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.56ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32464889932009609",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": {
        "id": "31134973727666780"
      },
      "status": "PAUSED"
    }
  227. · GET meta-marketing request · provider traffic · /v26.0/31134973727666780 · HTTP 200 · request 376978c5beed · processing 0.68ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/31134973727666780' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.68ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "31134973727666780",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  228. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:21.827514+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "campaign_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 12
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "14543977939770676",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:14.755Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.004Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18900659600586892",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:15.034Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.109Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "31134973727666780",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
              },
              "appliedAt": "2026-11-01T17:31:15.294Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.148Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "32464889932009609",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:15.588Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:16.137Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:11.909Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:12.242Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:11.893Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:11.907Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:11.908Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:11.909Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:12.242Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:14.266Z",
              "msg": "meta.prepare_campaigns: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:14.271Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.275Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.278Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.279Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:14.755Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:15.034Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:15.295Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:15.588Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:16.149Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:11.893Z",
          "updatedAt": "2026-11-01T17:31:16.149Z"
        }
      ]
    }
  229. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }'

    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-11-01T17:31:22.068088+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "477",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:21.852Z",
      "duplicate": true
    }
  230. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:22.313028+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "122",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:22.086Z",
      "result": "already_decided"
    }
  231. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:22.555386+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "79",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.004Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.109Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.148Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:16.137Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:22.086Z",
      "result": "nothing_to_resume"
    }
  232. · POST app request /invocations · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:23.119582+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "82",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "campaign_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 12
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "14543977939770676",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:14.755Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.847Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18900659600586892",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:15.034Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.888Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "31134973727666780",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
          },
          "appliedAt": "2026-11-01T17:31:15.294Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.873Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "32464889932009609",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:15.588Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:22.825Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:11.909Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:12.242Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:11.893Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:11.907Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:11.908Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:11.909Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:12.242Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:14.266Z",
          "msg": "meta.prepare_campaigns: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:14.271Z",
          "msg": "meta.prepare_adsets: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.275Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.278Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:14.279Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:14.755Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:15.034Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:15.295Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:15.588Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:16.149Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:21.852Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:31:22.889Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:11.893Z",
      "updatedAt": "2026-11-01T17:31:22.889Z"
    }
  233. · GET meta-marketing request · provider traffic · /v26.0/32464889932009609 · HTTP 200 · request fc5c3ff97546 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/32464889932009609' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "32464889932009609",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "18900659600586892",
      "creative": {
        "id": "31134973727666780"
      },
      "status": "PAUSED"
    }
  234. · GET meta-marketing request · campaign loss · /v26.0/14543977939770676 · HTTP 200 · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  235. · GET meta-marketing request · provider traffic · /v26.0/14543977939770676 · HTTP 200 · request 1631c39a9ff4 · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/14543977939770676' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "14543977939770676",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  236. · GET meta-marketing request · provider traffic · /v26.0/31134973727666780 · HTTP 200 · request 2fbcac1f03d6 · processing 0.61ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/31134973727666780' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.61ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "31134973727666780",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  237. · GET meta-marketing request · provider traffic · /v26.0/18900659600586892 · HTTP 200 · request 49f7e107a748 · processing 0.62ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18900659600586892' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.62ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18900659600586892",
      "account_id": "1001",
      "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "14543977939770676",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  238. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs · campaign loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/campaign_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:28.628271+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "campaign-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "campaign_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 12
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "14543977939770676",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:14.755Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.847Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18900659600586892",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:15.034Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.888Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:74dee57dab8e5d22b4015b4f",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "31134973727666780",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f]",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f"
              },
              "appliedAt": "2026-11-01T17:31:15.294Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.873Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "32464889932009609",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:15.588Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:22.825Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:11.909Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:12.242Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:11.893Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:11.907Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:11.908Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:11.909Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:12.242Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:14.266Z",
              "msg": "meta.prepare_campaigns: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:14.271Z",
              "msg": "meta.prepare_adsets: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.275Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.278Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:14.279Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:14.755Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:15.034Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:15.295Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:15.588Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:16.149Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:31:21.852Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:31:22.889Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:11.893Z",
          "updatedAt": "2026-11-01T17:31:22.889Z"
        }
      ]
    }
  239. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:28.851867+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  240. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }'

    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-11-01T17:31:29.066657+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "468",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:28.866Z",
      "duplicate": false
    }
  241. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:31.707582+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "119",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/adsets: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 1,
        "failed": 3,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:31.447Z",
      "result": "recorded"
    }
  242. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request 722bcf0d54a0 · processing 1.01ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.01ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "175",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18095156095656295"
    }
  243. · GET meta-marketing request · provider traffic · /v26.0/18095156095656295 · HTTP 200 · request 3fda0249cc6d · processing 0.57ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18095156095656295' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.57ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18095156095656295",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  244. · POST meta-marketing request · adset loss · /v26.0/act_1001/adsets · HTTP 200 · processing 1.14ms · response delay_completed (5000ms) · delay began 2026-11-01T17:31:29.605192+00:00 · delay released 2026-11-01T17:31:34.614380+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 1.14ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "586",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "36328921480164454"
    }
  245. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request d3a19d893af6 · processing 1.14ms · response delay_completed (5000ms) · delay began 2026-11-01T17:31:29.605192+00:00 · delay released 2026-11-01T17:31:34.614380+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.14ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "586",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "36328921480164454"
    }
  246. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:32.763791+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "76",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:32.519Z",
      "result": "resumed"
    }
  247. · GET meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request a93a091a795c · processing 1.16ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    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: 1.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "16520509931494418",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "18267145293836010",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "17142056123518516",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "25710766577462967",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "18900659600586892",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "14543977939770676",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "2001",
          "account_id": "1001",
          "name": "Acme pergola inquiries TEST",
          "campaign_id": "6001",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ]
            },
            "publisher_platforms": [
              "facebook"
            ],
            "facebook_positions": [
              "feed"
            ]
          },
          "status": "PAUSED"
        },
        {
          "id": "21150146858514222",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "46842285852969420",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "24211455430065285",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "21582393652627058",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "32827713751076767",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "17039868983718644",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "facebook"
            ],
            "facebook_positions": [
              "feed"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        },
        {
          "id": "36328921480164454",
          "account_id": "1001",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
          "campaign_id": "18095156095656295",
          "daily_budget": "1000",
          "billing_event": "IMPRESSIONS",
          "optimization_goal": "LINK_CLICKS",
          "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
          "targeting": {
            "geo_locations": {
              "countries": [
                "US"
              ],
              "location_types": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "publisher_platforms": [
              "instagram"
            ],
            "instagram_positions": [
              "stream"
            ],
            "age_min": 18,
            "age_max": 65,
            "targeting_automation": {
              "advantage_audience": 0
            }
          },
          "status": "PAUSED"
        }
      ]
    }
  248. · GET meta-marketing request · adset loss · /v26.0/36328921480164454 · HTTP 200 · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  249. · GET meta-marketing request · provider traffic · /v26.0/36328921480164454 · HTTP 200 · request d4109c467138 · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  250. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request d52cc1fa4c8e · processing 1.09ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.09ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "451",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "82029082710701786"
    }
  251. · GET meta-marketing request · provider traffic · /v26.0/82029082710701786 · HTTP 200 · request b43fe08524e8 · processing 0.71ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/82029082710701786' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.71ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "82029082710701786",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  252. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request 31a81a321046 · processing 1ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": "{\"creative_id\":\"82029082710701786\"}",
      "status": "PAUSED"
    }'

    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: 1ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "162",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": "{\"creative_id\":\"82029082710701786\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "18268396865905235"
    }
  253. · GET meta-marketing request · provider traffic · /v26.0/18268396865905235 · HTTP 200 · request 8979bf81bb14 · processing 0.9ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18268396865905235' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.9ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18268396865905235",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": {
        "id": "82029082710701786"
      },
      "status": "PAUSED"
    }
  254. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:33.558706+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "79",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:33.320Z"
    }
  255. · GET meta-marketing request · provider traffic · /v26.0/18095156095656295 · HTTP 200 · request b66812a8c1d3 · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18095156095656295' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18095156095656295",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  256. · GET meta-marketing request · provider traffic · /v26.0/82029082710701786 · HTTP 200 · request b1a37a851a6c · processing 0.55ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/82029082710701786' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.55ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "82029082710701786",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  257. · GET meta-marketing request · provider traffic · /v26.0/18268396865905235 · HTTP 200 · request f9367c83563d · processing 0.56ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18268396865905235' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.56ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18268396865905235",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": {
        "id": "82029082710701786"
      },
      "status": "PAUSED"
    }
  258. · GET meta-marketing request · adset loss · /v26.0/36328921480164454 · HTTP 200 · processing 0.65ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.65ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  259. · GET meta-marketing request · provider traffic · /v26.0/36328921480164454 · HTTP 200 · request 04691dfb960b · processing 0.65ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.65ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  260. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:38.957003+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "adset_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18095156095656295",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:29.415Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:32.875Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "36328921480164454",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:31.986Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:33.066Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "82029082710701786",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
              },
              "appliedAt": "2026-11-01T17:31:32.269Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:32.996Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18268396865905235",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:32.518Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:33.320Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:28.866Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:29.070Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:28.858Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:28.861Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:28.864Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:28.866Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:29.070Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:29.415Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:31.430Z",
              "msg": "meta.prepare_adsets: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:31.438Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.446Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.447Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:31.986Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:32.270Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:32.519Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:33.320Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:28.858Z",
          "updatedAt": "2026-11-01T17:31:33.320Z"
        }
      ]
    }
  261. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }'

    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-11-01T17:31:39.214763+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "468",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:38.973Z",
      "duplicate": true
    }
  262. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:39.442260+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "119",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:39.213Z",
      "result": "already_decided"
    }
  263. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:39.700900+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "76",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.875Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.066Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:32.996Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:33.320Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:39.213Z",
      "result": "nothing_to_resume"
    }
  264. · POST app request /invocations · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:40.259259+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "79",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "adset_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "18095156095656295",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:29.415Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:39.936Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "36328921480164454",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:31.986Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:40.028Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "82029082710701786",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
          },
          "appliedAt": "2026-11-01T17:31:32.269Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:39.965Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "18268396865905235",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:32.518Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:39.986Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:28.866Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:29.070Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:28.858Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:28.861Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:28.864Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:28.866Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:29.070Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:29.415Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:31.430Z",
          "msg": "meta.prepare_adsets: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:31.438Z",
          "msg": "meta.prepare_adcreatives: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.446Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:31.447Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:31.986Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:32.270Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:32.519Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:33.320Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:38.973Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:31:40.029Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:28.858Z",
      "updatedAt": "2026-11-01T17:31:40.029Z"
    }
  265. · GET meta-marketing request · provider traffic · /v26.0/18095156095656295 · HTTP 200 · request 7fb82e3f0536 · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18095156095656295' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18095156095656295",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  266. · GET meta-marketing request · provider traffic · /v26.0/82029082710701786 · HTTP 200 · request 437a77e56750 · processing 0.56ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/82029082710701786' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.56ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "82029082710701786",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  267. · GET meta-marketing request · provider traffic · /v26.0/18268396865905235 · HTTP 200 · request de3d78ebe887 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/18268396865905235' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "18268396865905235",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "36328921480164454",
      "creative": {
        "id": "82029082710701786"
      },
      "status": "PAUSED"
    }
  268. · GET meta-marketing request · adset loss · /v26.0/36328921480164454 · HTTP 200 · processing 0.7ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.7ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  269. · GET meta-marketing request · provider traffic · /v26.0/36328921480164454 · HTTP 200 · request 1910ffe88e6f · processing 0.7ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/36328921480164454' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.7ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "36328921480164454",
      "account_id": "1001",
      "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "18095156095656295",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  270. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs · adset loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/adset_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:45.571042+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "adset-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "adset_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "18095156095656295",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:29.415Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:39.936Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "36328921480164454",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:31.986Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:40.028Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:1e2528a68e9834d3e20fe2c9",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "82029082710701786",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9]",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9"
              },
              "appliedAt": "2026-11-01T17:31:32.269Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:39.965Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "18268396865905235",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:32.518Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:39.986Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:28.866Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:29.070Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:28.858Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:28.861Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:28.864Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:28.866Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:29.070Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:29.415Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:31.430Z",
              "msg": "meta.prepare_adsets: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:31.438Z",
              "msg": "meta.prepare_adcreatives: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.446Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:31.447Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:31.986Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:32.270Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:32.519Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:33.320Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:31:38.973Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:31:40.029Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:28.858Z",
          "updatedAt": "2026-11-01T17:31:40.029Z"
        }
      ]
    }
  271. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:45.777627+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  272. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }'

    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-11-01T17:31:45.987370+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "477",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:45.784Z",
      "duplicate": false
    }
  273. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:48.923863+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "122",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/adcreatives: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "FatalError: Earlier preparation is unresolved; dependent write refused",
          "errorCode": "fatal",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 2,
        "failed": 2,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:48.723Z",
      "result": "recorded"
    }
  274. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request 7f3c23c131d6 · processing 1.04ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 1.04ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "178",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "26611209366716264"
    }
  275. · GET meta-marketing request · provider traffic · /v26.0/26611209366716264 · HTTP 200 · request f92c6da53f59 · processing 0.59ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26611209366716264' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.59ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26611209366716264",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  276. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request 30c29ec3b5c4 · processing 1.17ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.17ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "589",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "26240558367376448"
    }
  277. · GET meta-marketing request · provider traffic · /v26.0/26240558367376448 · HTTP 200 · request 3211e1cf5f17 · processing 0.76ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26240558367376448' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.76ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26240558367376448",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  278. · POST meta-marketing request · creative loss · /v26.0/act_1001/adcreatives · HTTP 200 · processing 1.16ms · response delay_completed (5000ms) · delay began 2026-11-01T17:31:46.896435+00:00 · delay released 2026-11-01T17:31:51.905432+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 1.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "457",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "27749731850228446"
    }
  279. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request b1b75686f2a2 · processing 1.16ms · response delay_completed (5000ms) · delay began 2026-11-01T17:31:46.896435+00:00 · delay released 2026-11-01T17:31:51.905432+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.16ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "457",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "27749731850228446"
    }
  280. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:49.554326+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "79",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:49.356Z",
      "result": "resumed"
    }
  281. · GET meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request bf9751dc5820 · processing 0.93ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.93ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "15647485004322415",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 creative [FS:f08c996822328d15c6eddef0] 2026-11-01-a098703440b8430e9b09554fcc8c1e5a",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "17307368547137652",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 creative [FS:19511219c959ee036040f4c4] 2026-11-01-feda56b0350e48248f7b27c02117d6b2",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "22292208169326409",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 creative [FS:069316b3ce1f6015b1b737cd] 2026-11-01-68bc887edbcf4779aef2ec544baf848f",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "23983775257341426",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 creative [FS:c46b333decf26eb8b603d184] 2026-11-01-371f03ad6c114ba49076d46bb1adafda",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "27749731850228446",
          "account_id": "1001",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "3001",
          "account_id": "1001",
          "name": "Pergola consultation creative TEST",
          "object_story_spec": {
            "page_id": "4001",
            "link_data": {
              "message": "Plan your outdoor space. Request a pergola consultation.",
              "link": "https://example.test/pergolas",
              "name": "A space to enjoy outdoors"
            }
          }
        },
        {
          "id": "31134973727666780",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:74dee57dab8e5d22b4015b4f] 2026-11-01-98710707025d4efc91e9aa907a71d17f",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "82029082710701786",
          "account_id": "1001",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:1e2528a68e9834d3e20fe2c9] 2026-11-01-1d799bda58c8409c9fa503eec5e512c9",
          "object_story_spec": {
            "page_id": "4001",
            "instagram_user_id": "5001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        },
        {
          "id": "93699467285654729",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 creative [FS:4d1a7a974137c94edcc44a62] 2026-11-01-9b9f37ab1f1b4d9a8b05f95bb700f729",
          "object_story_spec": {
            "page_id": "4001",
            "link_data": {
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797",
              "image_hash": "demo-image-1001"
            }
          }
        }
      ]
    }
  282. · GET meta-marketing request · creative loss · /v26.0/27749731850228446 · HTTP 200 · processing 0.63ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.63ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  283. · GET meta-marketing request · provider traffic · /v26.0/27749731850228446 · HTTP 200 · request a7f7860e529d · processing 0.63ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.63ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  284. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request 5274fe01f7a8 · processing 1.01ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": "{\"creative_id\":\"27749731850228446\"}",
      "status": "PAUSED"
    }'

    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: 1.01ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "165",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": "{\"creative_id\":\"27749731850228446\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "30257012071337040"
    }
  285. · GET meta-marketing request · provider traffic · /v26.0/30257012071337040 · HTTP 200 · request c9cb87033ffe · processing 0.59ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/30257012071337040' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.59ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "30257012071337040",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": {
        "id": "27749731850228446"
      },
      "status": "PAUSED"
    }
  286. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:50.015236+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "82",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:49.797Z"
    }
  287. · GET meta-marketing request · provider traffic · /v26.0/26611209366716264 · HTTP 200 · request 4901cd45e102 · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26611209366716264' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26611209366716264",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  288. · GET meta-marketing request · provider traffic · /v26.0/26240558367376448 · HTTP 200 · request 8391a91104f7 · processing 0.73ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26240558367376448' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.73ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26240558367376448",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  289. · GET meta-marketing request · provider traffic · /v26.0/30257012071337040 · HTTP 200 · request 91d289071051 · processing 0.55ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/30257012071337040' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.55ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "30257012071337040",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": {
        "id": "27749731850228446"
      },
      "status": "PAUSED"
    }
  290. · GET meta-marketing request · creative loss · /v26.0/27749731850228446 · HTTP 200 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  291. · GET meta-marketing request · provider traffic · /v26.0/27749731850228446 · HTTP 200 · request 4a81f8d7c413 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  292. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:31:55.331443+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "creative_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 3
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26611209366716264",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:46.443Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.651Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26240558367376448",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:46.711Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.765Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:75b90e4b790d44112725e4a7",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "27749731850228446",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
              },
              "appliedAt": "2026-11-01T17:31:49.154Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.797Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "30257012071337040",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:49.356Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:49.797Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:45.784Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:45.999Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:45.774Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:45.779Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:45.782Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:45.784Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:45.999Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:46.445Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:46.711Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:48.719Z",
              "msg": "meta.prepare_adcreatives: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:48.722Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:48.723Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:49.154Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:49.356Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:49.797Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:45.774Z",
          "updatedAt": "2026-11-01T17:31:49.797Z"
        }
      ]
    }
  293. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }'

    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-11-01T17:31:55.536431+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "477",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:55.335Z",
      "duplicate": true
    }
  294. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:31:55.727276+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "122",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:55.530Z",
      "result": "already_decided"
    }
  295. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:56.056824+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "79",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.651Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.765Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:49.797Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:55.530Z",
      "result": "nothing_to_resume"
    }
  296. · POST app request /invocations · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:31:56.507941+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "82",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "creative_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 3
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26611209366716264",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:31:46.443Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.303Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "26240558367376448",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:31:46.711Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.280Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:75b90e4b790d44112725e4a7",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "27749731850228446",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
          },
          "appliedAt": "2026-11-01T17:31:49.154Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.303Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "30257012071337040",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:31:49.356Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:31:56.246Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:31:45.784Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:31:45.999Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:31:45.774Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:31:45.779Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:31:45.782Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:31:45.784Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:31:45.999Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:31:46.445Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:31:46.711Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:31:48.719Z",
          "msg": "meta.prepare_adcreatives: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:31:48.722Z",
          "msg": "meta.prepare_ads: failed (fatal)"
        },
        {
          "at": "2026-11-01T17:31:48.723Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:31:49.154Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:31:49.356Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:31:49.797Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:31:55.335Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:31:56.303Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:31:45.774Z",
      "updatedAt": "2026-11-01T17:31:56.303Z"
    }
  297. · GET meta-marketing request · provider traffic · /v26.0/30257012071337040 · HTTP 200 · request c41187d0df8d · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/30257012071337040' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "30257012071337040",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "26240558367376448",
      "creative": {
        "id": "27749731850228446"
      },
      "status": "PAUSED"
    }
  298. · GET meta-marketing request · provider traffic · /v26.0/26240558367376448 · HTTP 200 · request 9b7716ed16bb · processing 0.64ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26240558367376448' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.64ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26240558367376448",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "26611209366716264",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  299. · GET meta-marketing request · creative loss · /v26.0/27749731850228446 · HTTP 200 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  300. · GET meta-marketing request · provider traffic · /v26.0/27749731850228446 · HTTP 200 · request 823a21676872 · processing 0.58ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/27749731850228446' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.58ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "27749731850228446",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  301. · GET meta-marketing request · provider traffic · /v26.0/26611209366716264 · HTTP 200 · request 96f8d0698c33 · processing 0.63ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/26611209366716264' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.63ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "26611209366716264",
      "account_id": "1001",
      "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  302. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs · creative loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/creative_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:02.142839+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "creative-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "creative_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 3
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26611209366716264",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:31:46.443Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.303Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "26240558367376448",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:31:46.711Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.280Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:75b90e4b790d44112725e4a7",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "27749731850228446",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7]",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:75b90e4b790d44112725e4a7] 2026-11-01-217677e6034248a4a9bd6f599e215ef8"
              },
              "appliedAt": "2026-11-01T17:31:49.154Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.303Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "30257012071337040",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:31:49.356Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:31:56.246Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:31:45.784Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:31:45.999Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:31:45.774Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:31:45.779Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:31:45.782Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:31:45.784Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:31:45.999Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:31:46.445Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:31:46.711Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:31:48.719Z",
              "msg": "meta.prepare_adcreatives: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:31:48.722Z",
              "msg": "meta.prepare_ads: failed (fatal)"
            },
            {
              "at": "2026-11-01T17:31:48.723Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:31:49.154Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:31:49.356Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:31:49.797Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:31:55.335Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:31:56.303Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:31:45.774Z",
          "updatedAt": "2026-11-01T17:31:56.303Z"
        }
      ]
    }
  303. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:02.665205+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": []
    }
  304. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }'

    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-11-01T17:32:03.028454+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "459",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "AWAITING_APPROVAL",
      "closed": false,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "pending_approval",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 0,
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 0,
        "failed": 0,
        "pendingApproval": 4,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:02.747Z",
      "duplicate": false
    }
  305. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:32:06.053692+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "partial",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "failed",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "error": "meta 0 network: POST /v26.0/act_1001/ads: The operation was aborted due to timeout",
          "errorCode": "meta:network",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 3,
        "failed": 1,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:05.847Z",
      "result": "recorded"
    }
  306. · POST meta-marketing request · provider traffic · /v26.0/act_1001/campaigns · HTTP 200 · request c8bb6e026558 · processing 4.83ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/campaigns' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }'

    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: 4.83ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "172",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": "[]",
      "is_adset_budget_sharing_enabled": "false",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "96933083638722458"
    }
  307. · GET meta-marketing request · provider traffic · /v26.0/96933083638722458 · HTTP 200 · request 4dcfd02b8ebf · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/96933083638722458' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "96933083638722458",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  308. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adsets · HTTP 200 · request 58b3f55b2b67 · processing 1.19ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adsets' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }'

    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: 1.19ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "583",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": "{\"age_min\":18,\"age_max\":65,\"targeting_automation\":{\"advantage_audience\":0},\"geo_locations\":{\"countries\":[\"US\"],\"location_types\":[\"frequently_in\",\"home\",\"recent\"]},\"publisher_platforms\":[\"instagram\"],\"instagram_positions\":[\"stream\"]}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "19199008408188784"
    }
  309. · GET meta-marketing request · provider traffic · /v26.0/19199008408188784 · HTTP 200 · request 396543897250 · processing 0.66ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/19199008408188784' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.66ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "19199008408188784",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  310. · POST meta-marketing request · provider traffic · /v26.0/act_1001/adcreatives · HTTP 200 · request 9278794917e0 · processing 1.19ms
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/adcreatives' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }'

    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: 1.19ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "445",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
      "object_story_spec": "{\"page_id\":\"4001\",\"instagram_user_id\":\"5001\",\"link_data\":{\"message\":\"Plan your pergola consultation\",\"link\":\"https://example.test/pergolas\",\"name\":\"Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797\",\"image_hash\":\"demo-image-1001\"}}"
    }

    Recorded response · HTTP 200

    {
      "id": "13484099101125142"
    }
  311. · GET meta-marketing request · provider traffic · /v26.0/13484099101125142 · HTTP 200 · request 4ece0db6636e · processing 1.13ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/13484099101125142' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    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: 1.13ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "13484099101125142",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  312. · POST meta-marketing request · ad loss · /v26.0/act_1001/ads · HTTP 200 · processing 1ms · response delay_completed (5000ms) · delay began 2026-11-01T17:32:03.998422+00:00 · delay released 2026-11-01T17:32:09.007347+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST '<META-MARKETING_TWIN_BASE_URL>/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 1ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "159",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21783429857165569"
    }
  313. · POST meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request 29508f7d3b82 · processing 1ms · response delay_completed (5000ms) · delay began 2026-11-01T17:32:03.998422+00:00 · delay released 2026-11-01T17:32:09.007347+00:00
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'content-type: application/x-www-form-urlencoded' \
      --header 'accept: application/json' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --data-raw '{
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }'

    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: 1ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "content-length": "159",
      "user-agent": "node",
      "content-type": "application/x-www-form-urlencoded",
      "accept": "application/json",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    {
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": "{\"creative_id\":\"13484099101125142\"}",
      "status": "PAUSED"
    }

    Recorded response · HTTP 200

    {
      "id": "21783429857165569"
    }
  314. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:06.507623+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "73",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconciled": null
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconciled": null
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:06.253Z",
      "result": "resumed"
    }
  315. · GET meta-marketing request · provider traffic · /v26.0/act_1001/ads · HTTP 200 · request ea35af947faf · processing 0.73ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/act_1001/ads' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.73ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "data": [
        {
          "id": "16239760874847237",
          "account_id": "1001",
          "name": "Pergola baseline vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "17142056123518516",
          "creative": {
            "id": "22292208169326409"
          },
          "status": "PAUSED"
        },
        {
          "id": "18268396865905235",
          "account_id": "1001",
          "name": "Pergola adset_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "36328921480164454",
          "creative": {
            "id": "82029082710701786"
          },
          "status": "PAUSED"
        },
        {
          "id": "21725925375523777",
          "account_id": "1001",
          "name": "Pergola facebook vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "32827713751076767",
          "creative": {
            "id": "93699467285654729"
          },
          "status": "PAUSED"
        },
        {
          "id": "21783429857165569",
          "account_id": "1001",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "19199008408188784",
          "creative": {
            "id": "13484099101125142"
          },
          "status": "PAUSED"
        },
        {
          "id": "26252057343736697",
          "account_id": "1001",
          "name": "Pergola replay vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "21150146858514222",
          "creative": {
            "id": "23983775257341426"
          },
          "status": "PAUSED"
        },
        {
          "id": "28766098831822090",
          "account_id": "1001",
          "name": "Pergola unknown vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "16520509931494418",
          "creative": {
            "id": "15647485004322415"
          },
          "status": "PAUSED"
        },
        {
          "id": "30257012071337040",
          "account_id": "1001",
          "name": "Pergola creative_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "26240558367376448",
          "creative": {
            "id": "27749731850228446"
          },
          "status": "PAUSED"
        },
        {
          "id": "32464889932009609",
          "account_id": "1001",
          "name": "Pergola campaign_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "18900659600586892",
          "creative": {
            "id": "31134973727666780"
          },
          "status": "PAUSED"
        },
        {
          "id": "37650103639111549",
          "account_id": "1001",
          "name": "Pergola restart vr_d6a7eddea9e0469caec55caac9234797 ad",
          "adset_id": "24211455430065285",
          "creative": {
            "id": "17307368547137652"
          },
          "status": "PAUSED"
        }
      ]
    }
  316. · GET meta-marketing request · ad loss · /v26.0/21783429857165569 · HTTP 200 · processing 0.67ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.67ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
  317. · GET meta-marketing request · provider traffic · /v26.0/21783429857165569 · HTTP 200 · request fa2ab1cd3ac2 · processing 0.67ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.67ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
  318. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:07.008596+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "76",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 0,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:06.725Z"
    }
  319. · GET meta-marketing request · provider traffic · /v26.0/96933083638722458 · HTTP 200 · request ab7a141757b6 · processing 0.61ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/96933083638722458' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.61ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "96933083638722458",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  320. · GET meta-marketing request · provider traffic · /v26.0/19199008408188784 · HTTP 200 · request 1ab46b8c455b · processing 0.66ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/19199008408188784' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.66ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "19199008408188784",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  321. · GET meta-marketing request · provider traffic · /v26.0/13484099101125142 · HTTP 200 · request 98608eb191cb · processing 0.65ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/13484099101125142' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.65ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "13484099101125142",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  322. · GET meta-marketing request · ad loss · /v26.0/21783429857165569 · HTTP 200 · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
  323. · GET meta-marketing request · provider traffic · /v26.0/21783429857165569 · HTTP 200 · request bfccfadc93d7 · processing 0.6ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.6ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
  324. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:12.408730+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "ad_loss"
          },
          "duplicateStarts": 0,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "96933083638722458",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:32:03.409Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.600Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "19199008408188784",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:32:03.646Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.693Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "13484099101125142",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
              },
              "appliedAt": "2026-11-01T17:32:03.838Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.704Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "21783429857165569",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:32:06.253Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:06.724Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:32:02.747Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:32:03.098Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:32:02.741Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:32:02.743Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:32:02.745Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:32:02.747Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:32:03.098Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:32:03.409Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:32:03.646Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:32:03.838Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:32:05.845Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:32:05.847Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:32:06.253Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:32:06.725Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:32:02.741Z",
          "updatedAt": "2026-11-01T17:32:06.725Z"
        }
      ]
    }
  325. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }'

    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-11-01T17:32:12.621101+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "459",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "start",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "input": {
        "organization": "Acme",
        "customer": {
          "email": "[email protected]"
        },
        "platform": "instagram",
        "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
        "message": "Plan your pergola consultation",
        "link": "https://example.test/pergolas",
        "dailyBudgetMinor": 1000
      },
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      }
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:12.395Z",
      "duplicate": true
    }
  326. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "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-11-01T17:32:12.820388+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "116",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "decide",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "userId": "U_AD_OWNER",
      "decision": "approve"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:12.610Z",
      "result": "already_decided"
    }
  327. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:13.046107+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "73",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "resume",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.600Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.693Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.704Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:06.724Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:12.610Z",
      "result": "nothing_to_resume"
    }
  328. · POST app request /invocations · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request POST 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/invocations' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'x-fetchsandbox-relay: [redacted]' \
      --header 'authorization: [redacted]' \
      --header 'content-type: application/json' \
      --data-raw '{
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }'

    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-11-01T17:32:13.471658+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "x-fetchsandbox-relay": "[redacted]",
      "authorization": "[redacted]",
      "content-length": "76",
      "content-type": "application/json"
    }

    Recorded response headers

    {
      "content-type": "application/json"
    }

    Request body

    {
      "action": "reconcile",
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797"
    }

    Recorded response · HTTP 200

    {
      "runId": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
      "workflow": "ad-campaign-preparation",
      "metadata": {
        "organization": "Acme",
        "company": "Acme Corporation",
        "environment": "unconfigured",
        "owner": "unassigned",
        "department": "unassigned",
        "ownerTeam": "unassigned",
        "oncall": "unassigned",
        "version": "unversioned",
        "sourceCommit": "unrecorded"
      },
      "org": "Marketing",
      "team": "creative-operations",
      "phase": "DONE",
      "closed": true,
      "outcome": "ok",
      "requestedBy": {
        "userId": "U_FETCHSANDBOX"
      },
      "labels": {
        "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
        "fs_case": "ad_loss"
      },
      "duplicateStarts": 1,
      "agents": [
        {
          "name": "policy-review",
          "status": "ok",
          "summary": "Business, daily budget and destination checked; owner approval required",
          "durationMs": 0
        },
        {
          "name": "campaign-planner",
          "status": "ok",
          "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
          "durationMs": 0
        }
      ],
      "actions": [
        {
          "id": "meta.prepare_campaigns",
          "kind": "meta.prepare_campaigns",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "campaigns",
            "is_adset_budget_sharing_enabled": false,
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "96933083638722458",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
          },
          "appliedAt": "2026-11-01T17:32:03.409Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.205Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adsets",
          "kind": "meta.prepare_adsets",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adsets",
            "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
            "audience": {
              "country": "US",
              "ageMin": 18,
              "ageMax": 65,
              "advantageAudience": false,
              "locationTypes": [
                "frequently_in",
                "home",
                "recent"
              ]
            },
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "19199008408188784",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
          },
          "appliedAt": "2026-11-01T17:32:03.646Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.211Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_adcreatives",
          "kind": "meta.prepare_adcreatives",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "adcreatives",
            "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 1,
          "ref": "13484099101125142",
          "detail": {
            "recovered": false,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
          },
          "appliedAt": "2026-11-01T17:32:03.838Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.233Z"
          },
          "reconciled": "match"
        },
        {
          "id": "meta.prepare_ads",
          "kind": "meta.prepare_ads",
          "provider": "meta",
          "agent": "campaign-planner",
          "gate": "approval",
          "status": "applied",
          "summary": {
            "edge": "ads",
            "platform": "resolved from reviewed input",
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "policy": {
              "version": "acme-feed-2026-10-30",
              "organization": "Acme",
              "account": "act_1001",
              "pageId": "4001",
              "instagramUserId": "5001",
              "imageHash": "demo-image-1001",
              "maxDailyBudgetMinor": 1000,
              "destinationHosts": [
                "example.test"
              ]
            },
            "account": "act_1001",
            "status": "PAUSED",
            "scope": "Prepare linked objects using pre-existing image; no activation",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            }
          },
          "attempts": 2,
          "ref": "21783429857165569",
          "detail": {
            "recovered": true,
            "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
            "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
          },
          "appliedAt": "2026-11-01T17:32:06.253Z",
          "reconcile": {
            "status": "match",
            "detail": "Compared every prepared field and account; provider name compared with frozen observation",
            "checkedAt": "2026-11-01T17:32:13.277Z"
          },
          "reconciled": "match"
        }
      ],
      "counts": {
        "applied": 4,
        "failed": 0,
        "pendingApproval": 0,
        "skipped": 0,
        "rejected": 0,
        "scheduled": 0,
        "awaitingSignal": 0,
        "compensated": 0
      },
      "wakeAt": null,
      "audit": null,
      "approval": {
        "approvers": [
          "U_AD_OWNER"
        ],
        "expiresAt": "2026-11-02T17:32:02.747Z",
        "decision": "approve",
        "decidedBy": "U_AD_OWNER",
        "decidedAt": "2026-11-01T17:32:03.098Z"
      },
      "output": {
        "decision": "prepare",
        "reviewedInput": {
          "organization": "Acme",
          "customer": {
            "email": "[email protected]"
          },
          "platform": "instagram",
          "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "dailyBudgetMinor": 1000
        },
        "policyVersion": "acme-feed-2026-10-30",
        "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
        "deliveryEnabled": false
      },
      "events": [
        {
          "at": "2026-11-01T17:32:02.741Z",
          "msg": "started by U_FETCHSANDBOX"
        },
        {
          "at": "2026-11-01T17:32:02.743Z",
          "msg": "agents: policy-review=ok, campaign-planner=ok"
        },
        {
          "at": "2026-11-01T17:32:02.745Z",
          "msg": "planned 4 action(s): 4 need approval"
        },
        {
          "at": "2026-11-01T17:32:02.747Z",
          "msg": "awaiting approval"
        },
        {
          "at": "2026-11-01T17:32:03.098Z",
          "msg": "approved by U_AD_OWNER"
        },
        {
          "at": "2026-11-01T17:32:03.409Z",
          "msg": "meta.prepare_campaigns: applied"
        },
        {
          "at": "2026-11-01T17:32:03.646Z",
          "msg": "meta.prepare_adsets: applied"
        },
        {
          "at": "2026-11-01T17:32:03.838Z",
          "msg": "meta.prepare_adcreatives: applied"
        },
        {
          "at": "2026-11-01T17:32:05.845Z",
          "msg": "meta.prepare_ads: failed (meta:network)"
        },
        {
          "at": "2026-11-01T17:32:05.847Z",
          "msg": "done (partial)"
        },
        {
          "at": "2026-11-01T17:32:06.253Z",
          "msg": "meta.prepare_ads: applied"
        },
        {
          "at": "2026-11-01T17:32:06.725Z",
          "msg": "reconciled: {\"match\":4}"
        },
        {
          "at": "2026-11-01T17:32:12.395Z",
          "msg": "duplicate start ignored"
        },
        {
          "at": "2026-11-01T17:32:13.277Z",
          "msg": "reconciled: {\"match\":4}"
        }
      ],
      "createdAt": "2026-11-01T17:32:02.741Z",
      "updatedAt": "2026-11-01T17:32:13.277Z"
    }
  329. · GET meta-marketing request · provider traffic · /v26.0/96933083638722458 · HTTP 200 · request d953a00c8322 · processing 0.57ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/96933083638722458' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.57ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "96933083638722458",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
      "objective": "OUTCOME_TRAFFIC",
      "special_ad_categories": [],
      "is_adset_budget_sharing_enabled": false,
      "status": "PAUSED"
    }
  330. · GET meta-marketing request · provider traffic · /v26.0/19199008408188784 · HTTP 200 · request b1c86742469e · processing 0.79ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/19199008408188784' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.79ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "19199008408188784",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
      "campaign_id": "96933083638722458",
      "daily_budget": "1000",
      "billing_event": "IMPRESSIONS",
      "optimization_goal": "LINK_CLICKS",
      "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
      "targeting": {
        "geo_locations": {
          "countries": [
            "US"
          ],
          "location_types": [
            "frequently_in",
            "home",
            "recent"
          ]
        },
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ],
        "age_min": 18,
        "age_max": 65,
        "targeting_automation": {
          "advantage_audience": 0
        }
      },
      "status": "PAUSED"
    }
  331. · GET meta-marketing request · provider traffic · /v26.0/13484099101125142 · HTTP 200 · request 16f0f034b57b · processing 0.57ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/13484099101125142' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.57ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "13484099101125142",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b",
      "object_story_spec": {
        "page_id": "4001",
        "instagram_user_id": "5001",
        "link_data": {
          "message": "Plan your pergola consultation",
          "link": "https://example.test/pergolas",
          "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
          "image_hash": "demo-image-1001"
        }
      }
    }
  332. · GET meta-marketing request · ad loss · /v26.0/21783429857165569 · HTTP 200 · processing 0.68ms
    View sanitized request and response

    Curl-style request view

    curl --request GET '<META-MARKETING_TWIN_BASE_URL>/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL was not recorded. Provider processing: 0.68ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
  333. · GET meta-marketing request · provider traffic · /v26.0/21783429857165569 · HTTP 200 · request 74e76ec576d2 · processing 0.68ms
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/sandbox/49b110197f/v26.0/21783429857165569' \
      --header 'host: fetchsandbox.com' \
      --header 'user-agent: node' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --header 'accept: application/json'

    This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.

    Target URL resolved from the saved run route. Provider processing: 0.68ms.

    Recorded request headers

    {
      "host": "fetchsandbox.com",
      "user-agent": "node",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "accept": "application/json"
    }

    Recorded response headers

    Response headers were not saved in this run.

    Request body

    No body shown for this read.

    Recorded response · HTTP 200

    {
      "id": "21783429857165569",
      "account_id": "1001",
      "name": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
      "adset_id": "19199008408188784",
      "creative": {
        "id": "13484099101125142"
      },
      "status": "PAUSED"
    }
  334. · GET app request /verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs · ad loss · HTTP 200
    View sanitized request and response

    Curl-style request view

    curl --request GET 'https://fetchsandbox.com/api/relay/60786d996a39b91dd2cbb24097e838e77d9597a06634e4df/verify/runs/vr_d6a7eddea9e0469caec55caac9234797/cases/ad_loss/runs' \
      --header 'accept: */*' \
      --header 'user-agent: python-httpx/0.28.1' \
      --header 'host: fetchsandbox.com' \
      --header 'x-flow-run-id: vr_d6a7eddea9e0469caec55caac9234797' \
      --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-11-01T17:32:18.876912+00:00.

    Recorded request headers

    {
      "accept": "*/*",
      "user-agent": "python-httpx/0.28.1",
      "host": "fetchsandbox.com",
      "x-flow-run-id": "vr_d6a7eddea9e0469caec55caac9234797",
      "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": "ad-loss-vr_d6a7eddea9e0469caec55caac9234797",
          "workflow": "ad-campaign-preparation",
          "metadata": {
            "organization": "Acme",
            "company": "Acme Corporation",
            "environment": "unconfigured",
            "owner": "unassigned",
            "department": "unassigned",
            "ownerTeam": "unassigned",
            "oncall": "unassigned",
            "version": "unversioned",
            "sourceCommit": "unrecorded"
          },
          "org": "Marketing",
          "team": "creative-operations",
          "phase": "DONE",
          "closed": true,
          "outcome": "ok",
          "requestedBy": {
            "userId": "U_FETCHSANDBOX"
          },
          "labels": {
            "fs_run": "vr_d6a7eddea9e0469caec55caac9234797",
            "fs_case": "ad_loss"
          },
          "duplicateStarts": 1,
          "agents": [
            {
              "name": "policy-review",
              "status": "ok",
              "summary": "Business, daily budget and destination checked; owner approval required",
              "durationMs": 0
            },
            {
              "name": "campaign-planner",
              "status": "ok",
              "summary": "Four ordered provider effects, each with durable intent and observation-only recovery",
              "durationMs": 0
            }
          ],
          "actions": [
            {
              "id": "meta.prepare_campaigns",
              "kind": "meta.prepare_campaigns",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "campaigns",
                "is_adset_budget_sharing_enabled": false,
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "96933083638722458",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 campaign"
              },
              "appliedAt": "2026-11-01T17:32:03.409Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.205Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adsets",
              "kind": "meta.prepare_adsets",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adsets",
                "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
                "audience": {
                  "country": "US",
                  "ageMin": 18,
                  "ageMax": 65,
                  "advantageAudience": false,
                  "locationTypes": [
                    "frequently_in",
                    "home",
                    "recent"
                  ]
                },
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "19199008408188784",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad set"
              },
              "appliedAt": "2026-11-01T17:32:03.646Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.211Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_adcreatives",
              "kind": "meta.prepare_adcreatives",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "adcreatives",
                "namePolicy": "Run-bound creative name; retain provider-assigned date/hash suffix and detect subsequent changes",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "creativeReference": "FS:3f9908262c9a8ad530c7cdd1",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 1,
              "ref": "13484099101125142",
              "detail": {
                "recovered": false,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1]",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 creative [FS:3f9908262c9a8ad530c7cdd1] 2026-11-01-3afc8e7b82624c7bb83cb5e633cb573b"
              },
              "appliedAt": "2026-11-01T17:32:03.838Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.233Z"
              },
              "reconciled": "match"
            },
            {
              "id": "meta.prepare_ads",
              "kind": "meta.prepare_ads",
              "provider": "meta",
              "agent": "campaign-planner",
              "gate": "approval",
              "status": "applied",
              "summary": {
                "edge": "ads",
                "platform": "resolved from reviewed input",
                "policyVersion": "acme-feed-2026-10-30",
                "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
                "policy": {
                  "version": "acme-feed-2026-10-30",
                  "organization": "Acme",
                  "account": "act_1001",
                  "pageId": "4001",
                  "instagramUserId": "5001",
                  "imageHash": "demo-image-1001",
                  "maxDailyBudgetMinor": 1000,
                  "destinationHosts": [
                    "example.test"
                  ]
                },
                "account": "act_1001",
                "status": "PAUSED",
                "scope": "Prepare linked objects using pre-existing image; no activation",
                "reviewedInput": {
                  "organization": "Acme",
                  "customer": {
                    "email": "[email protected]"
                  },
                  "platform": "instagram",
                  "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
                  "message": "Plan your pergola consultation",
                  "link": "https://example.test/pergolas",
                  "dailyBudgetMinor": 1000
                }
              },
              "attempts": 2,
              "ref": "21783429857165569",
              "detail": {
                "recovered": true,
                "requestedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad",
                "observedName": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797 ad"
              },
              "appliedAt": "2026-11-01T17:32:06.253Z",
              "reconcile": {
                "status": "match",
                "detail": "Compared every prepared field and account; provider name compared with frozen observation",
                "checkedAt": "2026-11-01T17:32:13.277Z"
              },
              "reconciled": "match"
            }
          ],
          "counts": {
            "applied": 4,
            "failed": 0,
            "pendingApproval": 0,
            "skipped": 0,
            "rejected": 0,
            "scheduled": 0,
            "awaitingSignal": 0,
            "compensated": 0
          },
          "wakeAt": null,
          "audit": null,
          "approval": {
            "approvers": [
              "U_AD_OWNER"
            ],
            "expiresAt": "2026-11-02T17:32:02.747Z",
            "decision": "approve",
            "decidedBy": "U_AD_OWNER",
            "decidedAt": "2026-11-01T17:32:03.098Z"
          },
          "output": {
            "decision": "prepare",
            "reviewedInput": {
              "organization": "Acme",
              "customer": {
                "email": "[email protected]"
              },
              "platform": "instagram",
              "title": "Pergola ad_loss vr_d6a7eddea9e0469caec55caac9234797",
              "message": "Plan your pergola consultation",
              "link": "https://example.test/pergolas",
              "dailyBudgetMinor": 1000
            },
            "policyVersion": "acme-feed-2026-10-30",
            "policyHash": "bf88a95c17175d972189cc113cae84bb11870a44385035dffbb583e95c19aead",
            "deliveryEnabled": false
          },
          "events": [
            {
              "at": "2026-11-01T17:32:02.741Z",
              "msg": "started by U_FETCHSANDBOX"
            },
            {
              "at": "2026-11-01T17:32:02.743Z",
              "msg": "agents: policy-review=ok, campaign-planner=ok"
            },
            {
              "at": "2026-11-01T17:32:02.745Z",
              "msg": "planned 4 action(s): 4 need approval"
            },
            {
              "at": "2026-11-01T17:32:02.747Z",
              "msg": "awaiting approval"
            },
            {
              "at": "2026-11-01T17:32:03.098Z",
              "msg": "approved by U_AD_OWNER"
            },
            {
              "at": "2026-11-01T17:32:03.409Z",
              "msg": "meta.prepare_campaigns: applied"
            },
            {
              "at": "2026-11-01T17:32:03.646Z",
              "msg": "meta.prepare_adsets: applied"
            },
            {
              "at": "2026-11-01T17:32:03.838Z",
              "msg": "meta.prepare_adcreatives: applied"
            },
            {
              "at": "2026-11-01T17:32:05.845Z",
              "msg": "meta.prepare_ads: failed (meta:network)"
            },
            {
              "at": "2026-11-01T17:32:05.847Z",
              "msg": "done (partial)"
            },
            {
              "at": "2026-11-01T17:32:06.253Z",
              "msg": "meta.prepare_ads: applied"
            },
            {
              "at": "2026-11-01T17:32:06.725Z",
              "msg": "reconciled: {\"match\":4}"
            },
            {
              "at": "2026-11-01T17:32:12.395Z",
              "msg": "duplicate start ignored"
            },
            {
              "at": "2026-11-01T17:32:13.277Z",
              "msg": "reconciled: {\"match\":4}"
            }
          ],
          "createdAt": "2026-11-01T17:32:02.741Z",
          "updatedAt": "2026-11-01T17:32:13.277Z"
        }
      ]
    }

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.

Run vr_d6a7eddea9e0469caec55caac9234797